斯特拉
一个AI聊天插件 黑曜石 具有多提供商LLM支持、MCP集成和深度保险库上下文。
______________________________________________________________________
特性
多提供商LLM支持
与您保险库内的任何主要法学硕士提供者交谈:
| 提供者 | 本地 | 注释 |
|---|---|---|
| 人类 | 否 | 克劳德模型(默认) |
| 开放人工智能 | 否 | GPT型号 |
| 谷歌 | 否 | Gemini型号,原生MCP支持 |
| 奥拉玛 | 是 | 任何Olama托管的模型 |
| LM 工作室 | 是 | 任何GGUF型号 |
| 开爪 | 是 | 本地代理模型的WebSocket网关 |
| 自定义 | 变化 | 任何与OpenAI兼容的端点 |
所有提供商都支持流式响应和实时模型获取。
MCP(模型上下文协议)集成
连接到MCP服务器以扩展Stella的功能:
- 通过浏览并连接到MCP服务器
/mcp - 执行工具、加载提示和浏览资源
- 自动发现可用服务器
- 标头中的服务器状态指示器
保险库集成
你的笔记是斯特拉对话中的一流公民:
@提及 --类型@在输入中搜索并附加注释作为上下文[[Wiki links]]--点击添加为上下文,Ctrl+点击打开注释- 视觉指示器显示当前附加的上下文
系统提示
定义LLM是谁。从以下位置加载角色和行为提示 .md 可配置vault文件夹中的文件。
/sys → pick and load a system prompt
/sysclear → remove the active system prompt心理模型
定义 *怎么* LLM认为。心智模型是推理框架,其中注入了明确的指令,使法学硕士能够将其作为分析透镜积极应用,这与系统提示的身份/角色不同。
/model → pick and load a mental model
/modelclear → remove the active mental model两者可以同时激活。系统提示形状 *谁* LLM是;心智模型的形状 *怎么* 它认为。
对话管理
- 具有持久历史记录的多个对话线程
- 智能自动保存(仅保留与消息或自定义名称的对话)
- 自动清理空/未命名的对话
- 重命名、删除和浏览历史记录
聊天界面
- 使用流式markdown渲染清理侧边栏UI
- 代码块语法高亮显示、标题、列表、表格
- 助理消息上的复制按钮
- 具有不透明度控制的可定制背景图像
- 滚动时自动隐藏标题
- 可选令牌计数显示
- 在API调用期间使用计时器加载动画
______________________________________________________________________
安装
手动安装
- 下载 最新版本
- 提取
main.js,manifest.json,以及styles.css进入您的保险库:
.obsidian/plugins/Stella/- 重新启动黑曜石
- 启用 斯特拉 在设置中→ 社区插件
源自源头
cd /path/to/vault/.obsidian/plugins
git clone https://github.com/poweredbypugs/Stella.git
cd Stella______________________________________________________________________
入门指南
- 打开 设置→ 斯特拉
- 选择您的法学硕士提供者
- 输入您的API密钥(本地提供商不需要)
- (可选)配置系统提示和心智模型文件夹的路径
- 从功能区图标或命令面板打开Stella: 打开Stella聊天
______________________________________________________________________
命令
所有命令都直接输入聊天输入。类型 /help 查看完整列表。
上下文
| 命令 | 描述 |
|---|---|
/sys | 从文件加载系统提示 |
/sysclear | 清除活动系统提示 |
/model | 从文件加载心智模型 |
/modelclear | 清除主动心理模型 |
/mcp | 打开MCP服务器选择器(工具、提示、资源) |
/mcpclear | 断开所有MCP服务器的连接 |
/clear | 清空所有上下文,开始新的对话 |
对话
| 命令 | 描述 |
|---|---|
/new | 开始新的对话 |
/del | 删除当前对话 |
/name | 重命名当前对话 |
/history | 浏览对话历史记录 |
接口
| 命令 | 描述 |
|---|---|
/settings | 打开插件设置 |
/hide | 切换标题可见性 |
/help | 显示所有可用命令 |
特殊输入
| 输入 | 描述 |
|---|---|
@ | 搜索并附加vault注释作为上下文 |
[[Note Name]] | 点击添加为上下文,Ctrl+点击打开 |
______________________________________________________________________
配置
API设置
| 设置 | 说明 |
|---|---|
| 提供者 | 活动LLM提供者 |
| API密钥 | 所选云提供商的密钥 |
| 基本URL | 本地提供商(Ollama、LM Studio)的服务器URL |
| 任何兼容OpenAI的API的自定义终结点 | URL |
模型设置
| 设置 | 默认值 | 说明 |
|---|---|---|
| 模型 | -- | 所选模型(从提供程序获取) |
| 最大令牌 | 4000 | 最大响应长度 |
| 温度 | 0.7 | 响应随机性(0=确定性,1=创造性) |
UI设置
| 设置 | 说明 |
|---|---|
| 背景图像 | 自定义背景图像路径 |
| 背景模式 | 居中或覆盖显示 |
| 背景不透明度 | 透明度级别(0-1) |
| 自动隐藏页眉 | 滚动时淡化页眉 |
| 显示令牌计数 | 显示每条消息的令牌使用情况 |
路径
| 设置 | 说明 |
|---|---|
| 系统提示路径 | 包含的Vault文件夹 .md 系统提示文件 |
| 心智模型路径 | 包含的Vault文件夹 .md 心智模型文件 |
主控程序
| 设置 | 说明 |
|---|---|
| 启用MCP | 切换MCP功能 |
| MCP服务器 | 已配置的服务器列表 |
| 自动发现 | 自动发现可用的MCP服务器 |
______________________________________________________________________
运作原理
Stella以黑曜石侧边栏视图运行。当您发送消息时,它:
- 根据活动系统提示+心智模型+附加注释上下文编写系统消息
- 将完整对话发送给您选择的LLM提供商
- 通过实时markdown渲染将响应流式传输回来
- 如果MCP工具可用并且LLM调用了一个,Stella将执行工具调用并反馈结果
所有对话数据都存储在插件的本地 data.json 您的保险库中的文件。API密钥存储在Obsidian的插件设置中-除了发送到您配置的LLM提供商之外,不会向任何地方发送任何内容。
______________________________________________________________________
发展
Stella是单独开发的 Stella-dev/ 文件夹并部署到此生产文件夹。
从源头构建
cd Stella-dev
npm install
npm run build # TypeScript check + esbuild bundle
npm run deploy # Build + copy main.js to Stella/项目结构(开发)
Stella-dev/
├── main.ts # Plugin entry point
├── src/
│ ├── types/ # TypeScript interfaces
│ ├── services/ # Cache, logger, MCP client
│ ├── providers/ # LLM provider implementations
│ └── views/modals/ # Modal UI components
├── styles.css # Plugin styles
├── manifest.json # Plugin manifest
├── esbuild.config.mjs # Build configuration
└── package.json提供商架构
Stella为LLM提供商使用工厂模式。每个提供者实现一个公共接口,以及 getProvider() 根据设置返回适当的实现。所有供应商都收到统一的 ProviderContext 包含系统消息、对话历史和流式回调。
______________________________________________________________________
许可证
麻省理工学院
