Releases: bigbay957-sudo/workbuddy-for-obsidian
Release list
0.10.1
WorkBuddy for Obsidian 0.10.1
本版本是一次面向 Obsidian 社区目录审核的合规修复:把审核报告里列出的问题逐条清零,并补上发布资产的构建来源证明。功能行为不变。
本次更新
发布合规(审核报告的「发布」区块)
- 移除 Release 里的多余文件:发布流程原来会额外打包一个
workbuddy-for-obsidian-x.y.z.zip并上传。Obsidian 只认main.js/manifest.json/styles.css三个资产,多余文件会让资产校验不通过。打包步骤已从工作流中删除。 - 补上 GitHub 构建来源证明:Release 现在会为
main.js与styles.css签发 artifact attestation,任何用户都可以加密验证这两个文件确实由本仓库的源码构建得出。
代码规范(审核报告的「源代码」区块)
- 修复唯一一条硬错误
no-static-styles-assignment:不再直接赋值element.style.*。- 模型下拉框的实测宽度改由 CSS 自定义属性
--wb-model-select-width传递(setCssProps),
styles.css里用width: var(--wb-model-select-width, auto)消费。 - 离屏测宽探针的排版样式移入 CSS 类
.workbuddy-measure-probe。
- 模型下拉框的实测宽度改由 CSS 自定义属性
- 正则不再含控制字符:文件名清洗从
/[\\/:*?"<>|#\[\]^\x00-\x1f]/g改为按码位逐字符判断,
同时消除了「意外的控制字符」与「不必要的转义字符」两条告警。该实现现由src/core/local-upload.ts
统一导出,chat-view.ts里重复的一份已删除。 - 去掉多余的类型断言:
workbuddy-client.ts的_meta、chat-view.ts的containerEl与
replaceRange的to参数都不需要断言。 - 修掉 Promise 误用:5 处
addEventListener(..., async () => {})改为() => void fn(),
不再把 Promise 丢给期望void的回调。 - 弹出窗口兼容:
requestAnimationFrame→window.requestAnimationFrame;
instanceof Element→instanceOf(Element)(跨窗口安全)。 - 改用 Obsidian DOM 辅助函数:
document.createDocumentFragment()→createFragment(),
document.createElement("a")→createEl("a"),document.createElement("span")→createSpan()。 - 移除
require("electron"):改为读取 Electron 注入在window上的require,行为一致。 - 不再用
String(unknown):workbuddy-client.ts的工具名与event-normalizer.ts的兜底
字符串化都改为显式收敛,避免产出无信息量的[object Object]。
设置面板改为声明式 API
- 迁移到 Obsidian 1.13.0 起的
getSettingDefinitions():所有设置项现在都能被 Obsidian 的
设置搜索搜到,display()与已弃用的setWarning()一并移除。 - 「检测 CLI 路径」由原来紧贴输入框的按钮改为独立一行操作项;「自定义快捷指令」通过
render
逃生舱保留原有的多行编辑布局(增删后会调用update()重建)。 - 数值型设置(字号、上下文字符上限)在写回前收敛回
number,不会在data.json里存成字符串。
需要留意的变更
- 最低 Obsidian 版本从 1.7.2 提升到 1.13.0。声明式设置 API 与
ButtonComponent.setDestructive
都要求 1.13.0+;当前这台机器的 Obsidian 已是 1.13.x,桌面端默认自动更新,正常无需手动处理。 - 旧版
styles.css中的ui-monospace/system-ui兜底已换成普通等宽/无衬线字体栈
(审核 CSS LINT 报告 Obsidian 1.6.5 不支持extended-system-fonts)。前者仅为兜底项,
插件启动后始终会写入--wb-body-font,实际观感不变。
安装
在 Obsidian「设置 → 第三方插件 → 浏览」中搜索 WorkBuddy AI 安装并启用。
手动安装:下载 Release 中的 main.js、manifest.json、styles.css,放进
<你的知识库>/.obsidian/plugins/workbuddy-ai/,重启后在第三方插件里启用。已安装旧版本的用户覆盖这三个文件即可,data.json 无需改动。
注意:插件目录名是插件 ID
workbuddy-ai(不是仓库名)。从 0.10.0 或更早版本升级时若目录名不同,
请以 Obsidian 实际创建/识别的目录为准。
前置条件
需要 Obsidian 桌面版 1.13.0+,以及已经安装并登录的 WorkBuddy CLI:
npm install -g @tencent-ai/codebuddy-code
codebuddy校验
eslint-plugin-obsidianmd复核:0 error(仅剩 13 条与品牌大小写有关的ui/sentence-case
提示,原审核报告未列出,保持 "WorkBuddy" 品牌写法)。- TypeScript 类型检查通过。
- 自动化测试通过(15 个文件 / 55 个用例)。
- 生产构建通过;构建产物与发布版本逐字节一致。
Full Changelog: 0.10.0...0.10.1
0.10.0 — 移除自更新(社区目录合规)
0.10.0 — 移除插件自更新功能(Obsidian 社区目录合规)
为什么移除
Obsidian 开发者政策明确禁止社区插件「Install or update themselves or their dependencies」。
插件原有的「检查更新 → 下载 main.js / manifest.json / styles.css → 覆盖插件自身」整条链路
已彻底删除,以避免在社区目录审核中被判定违规。
移除内容
- 删除模块:
src/core/plugin-updater.ts、src/core/version.ts、src/ui/update-modal.ts、
tests/version.test.ts - 清理引用:主程序(更新检查命令、启动时定时检查、
checkForUpdates、readPluginError)、
设置面板(「插件更新」区块:GitHub 更新仓库 / 启动时检查更新)、类型定义、样式 - 移除后插件自身不再发起任何网络请求,也不再读写 vault 之外的文件
新增合规披露
README 中英文双节新增「合规披露 / Disclosures」,明确说明:
需要 WorkBuddy 账号、网络访问由本机 CLI 发起(插件自身不联网)、
访问 vault 之外文件的原因与边界、无遥测与广告、不自更新。PRIVACY.md 同步更新。
影响
- 插件更新改由 Obsidian 自带的社区插件更新机制负责(上架后)。
- 命令 ID 保持 0.9.9 的规范化结果:
workbuddy-ai:open/:new-chat。 - 遗留设置键(
updateRepository/autoCheckUpdates)会被静默忽略,无需清理data.json。
安装
从本 Release 下载 main.js、manifest.json、styles.css,放入 vault 的
.obsidian/plugins/workbuddy-ai/,重启 Obsidian 后在社区插件中启用。
桌面端插件,需本机已安装并登录 WorkBuddy / codebuddy CLI。
Full Changelog: 0.9.9...0.10.0
0.9.9 — 社区目录提交准备
0.9.9 — 社区目录提交准备
本版
- 命令 ID 去掉冗余前缀:Obsidian 会自动为命令 ID 加插件 ID 前缀,官方要求命令 ID 中
不要再包含插件 ID。open-workbuddy/new-workbuddy-chat/check-workbuddy-updates
改为open/new-chat/check-updates(注册后为workbuddy-ai:open等)。
⚠️ 曾给这些命令绑过快捷键的话,需要在「设置 → 快捷键」重新绑定。 - 合并远程并行的 0.8.x 开发线(社区商店改名合规、CSS lint 修复、README 标题、
showToolCalls开关等 20 个提交)—— 逐项核对确认其改动已全部包含在 0.9.x 中,
故以本地 0.9.x 为准合并,远程提交与 0.8.7/0.8.8/0.8.9 标签保留在历史中。 - 提交前合规复核:
innerHTML0 处、vault.modify0 处、示例代码无残留、
isDesktopOnly: true、description 146 字符且句号结尾、无fundingUrl。
0.9.1 – 0.9.8 累积变化
- 0.9.8 思考过程流式输出时自动滚到最新文字(pre 内部 + 外层两层跟随)。
- 0.9.7 思考过程默认展开;修正向 CLI 上报的插件版本号。
- 0.9.6 思考过程改用简体中文推理(可关闭)。
- 0.9.5 模型下拉宽度按当前选中项自适应,长模型名不再被裁。
- 0.9.4 回答正文改为更小更纤细的排版(13px + 无衬线栈,可在设置里调)。
- 0.9.3 移除「收藏回答」;0.9.2 移除冗余的「复制选中」;0.9.1 修复正文无法拖选复制。
安装
从本 Release 下载 main.js、manifest.json、styles.css,放入 vault 的
.obsidian/plugins/workbuddy-ai/,重启 Obsidian 后在社区插件中启用。
桌面端插件,需本机已安装 WorkBuddy / codebuddy CLI。
Full Changelog: 0.9.8...0.9.9
0.9.8 — 思考过程流式输出时自动跟随滚动
0.9.8 — 思考过程流式输出时自动滚到最新文字
本版
- 思考过程自动跟随:追加文字后先滚
pre自身、再滚外层容器。.workbuddy-thought pre有
max-height: 180px,内容超过后外层容器停止长高、新文字落入 pre 内部滚动区 ——
只滚外层仍有 414px 看不见,两层都滚则为 0(无头 Chromium 实测)。 - 滚动请求每帧合并:思考 delta 一帧可能来多个,逐个触发平滑滚动会互相打断、位置反而落后。
- 折叠态跳过滚动;用户拖选时跳过(不抢选区)。
0.9.1 – 0.9.7 累积变化
- 0.9.7 思考过程默认展开(可在设置里改回折叠);修正向 CLI 上报的插件版本号。
- 0.9.6 思考过程改用简体中文推理(可关闭,提示词侧约束)。
- 0.9.5 模型下拉宽度按当前选中项自适应,长模型名不再被裁切。
- 0.9.4 回答正文改为更小 / 更纤细的排版(13px + 无衬线栈 + antialiased,字号字体可在设置里调)。
- 0.9.3 移除「收藏回答」功能。
- 0.9.2 移除冗余的「复制选中」按钮。
- 0.9.1 修复回答正文无法拖选复制的问题。
安装
下载 main.js、manifest.json、styles.css 放入 vault 的
.obsidian/plugins/workbuddy-ai/,重启 Obsidian 后在社区插件里启用。
本插件需要本机已安装 WorkBuddy / codebuddy CLI。
0.8.9
v0.8.9 — tag points to latest commit with all lint fixes + showToolCalls toggle
Full Changelog: 0.8.8...0.8.9
0.8.8
v0.8.8 — 修复社区商店自动审核问题(描述去掉 Obsidian、settings 用 Setting API、CSS 去掉 !important)
Full Changelog: 0.8.7...0.8.8
0.8.7
v0.8.7 — rename plugin name to 'WorkBuddy AI' (community store rejects names containing 'Obsidian')
Full Changelog: 0.8.6...0.8.7
0.8.6
v0.8.6 — rename plugin ID to workbuddy-ai
Full Changelog: 0.8.5...0.8.6
0.8.5
0.8.4
WorkBuddy for Obsidian 0.8.4
本版本聚焦于模型选择器的细节打磨:让 Auto 默认行为更顺手、显示更稳定;并同步刷新了 README 截图,体现当前真实界面状态。
本次更新
模型选择器常显与默认 Auto
- 打开任务页即可在左下角看到模型下拉,未取得列表前显示
Auto、连接中…、连接失败等占位,悬浮提示说明当前状态。 - 取得列表后默认仍选中 Auto,与 WorkBuddy 的 auto 模式对齐;用户手动选过的模型会被记住。
- 首次拉取到列表后,若 CLI 当前值不是 auto,会静默调用
session/setConfigOption切到 auto;setConfigOption新增silent参数,CLI 不接受 auto 时不打扰会话。
视觉与交互修复
- 模型下拉固定宽度(112px),不再随选项文字自适应变化而从窄变宽跳动。
- 按
lowercase value去重,合并 CLI 偶尔返回的hy3与Hy3等仅大小写不同的重复条目。 - 移除模型选择器左侧多余的图标,按钮高度与相邻的
@ 资料、关联资料按钮自然对齐。 - 选项文案
Auto(自动选择)简化为Auto。
文档
- 替换
README.md截图,反映最新的 0.8.x 界面状态。 - 同步更新功能亮点与“多任务与聊天记录”段,删除已废弃的资料包/撤销修改描述,新增模型与人设段。
安装
下载 workbuddy-for-obsidian-0.8.4.zip,解压到 <你的知识库>/.obsidian/plugins/workbuddy-for-obsidian/,然后在 Obsidian 的第三方插件设置中启用。已安装旧版本的用户覆盖 main.js、manifest.json、styles.css 三个文件即可,data.json 配置无需改动。
前置条件
需要 Obsidian 桌面版 1.7.2+,以及已经安装并登录的 WorkBuddy CLI:
npm install -g @tencent-ai/codebuddy-code
codebuddy校验
- TypeScript 类型检查通过。
- 自动化测试通过(35 个用例)。
- 生产构建通过。
Full Changelog: 0.8.3...0.8.4