# dsh-llm-codebuddy-power ![AI-Crap](https://img.shields.io/badge/%F0%9F%92%A9-AI_crap_code-5C4033?style=flat-square) [![npm](https://img.shields.io/npm/v/dsh-llm-codebuddy-power)](https://www.npmjs.com/package/dsh-llm-codebuddy-power) [English](./README.md) 功能齐全的 CodeBuddy(WorkBuddy)提供者插件。 设计文档:[design/zh/current.md](design/zh/current.md)。 ## 安装 ```bash dsh plugin --profile web add dsh-llm-codebuddy-power ``` **不支持通过 GitHub 安装。** ## 功能 **模型与对话** - 提供 CodeBuddy 的全部模型,随时切换 - 模型面板:一眼看清每个模型的促销、订阅、积分倍率与折后价;悬停或点按看详情,可设置模型的思考程度,也可调整上下文窗口与最大输出 - 图片输入:支持图片的模型可接收粘贴或挂载的图片 **画图** - 在对话中让模型画图,点击生成的图片可查看大图 **账号** - 浏览器登录,无需 API key - 可同时登录多个账号,每个会话各用一个 - 插件页管理账号:拖拽排序、退出单个或多个 - 对话框输入区即可切换当前会话的账号 **额度** - 额度圆环:把主额度与赠送额度合并显示该账号的用量,圆环中心显示剩余赠送量 - 每轮积分:每条回复末尾显示该轮消耗,悬停可见花的是哪个账号与该轮请求 ID,点击可复制完整请求 ID **活跃度** - 对话计入 CodeBuddy 的日活跃度,在这里对话与在官方 IDE 里对话等效(见[对话活跃度](#对话活跃度)) **偏好** - 是否显示额度圆环、余量告警百分比、极简模式会话是否出现画图工具、是否上报对话活跃度 **命令行** - `codebuddy-power` 在终端里管理账号 ## 对话活跃度 CodeBuddy 为自家客户端维护一张日活跃度地图,其客户端通过一条独立的上报通道告知服务端"发生过一次对话"。不走这条通道,对话就不算活跃——说再多也不算。本插件同样上报,**默认开启**,可在插件卡片的 **偏好** 里关闭。 ### 好处 - 在这里进行的对话与在官方 IDE 里进行的对话计入同一张日活跃度地图,在这里工作一天不会留下一格空白。 - 上报每轮使用的模型、token 用量、时间与结果,与官方客户端发送的内容一致。 ### 风险 - **会向 CodeBuddy 发送数据。** 每轮上报所用模型、输入/输出 token 数、是否成功与若干时间戳;**不含**你的提示词与模型回复的正文。 - **会让 CodeBuddy 看出这是另一个客户端。** 上报带一个由本插件生成、按账号保存的设备标识,因此 CodeBuddy 能看出这些活跃来自另一台"设备"而不是官方 IDE。该标识在本地生成,不读取也不共用官方 IDE 自己的标识。 - **本插件不是官方客户端,服务端的处理方式可能不同。** 上报按官方协议复刻,但是否总能被计入由服务端决定,不在本插件控制范围内。 关闭开关即完全停止上报:关闭期间不会发出任何请求。 ## 使用示例 Web:打开侧边栏的 **插件**,点开 **dsh-llm-codebuddy-power** 卡片,点击 **登录** 可追加一个账号;旁边的复制按钮把登录链接放进剪贴板而不打开它,用于在别的浏览器或别的机器上完成登录。拖拽徽章可调整顺序,退出账号用 **多选**;对话框输入区的账号按钮可为当前会话单独切换,且会话会保持它首次使用的账号,直到再次切换。 CLI: ```bash dsh plugin --profile web codebuddy-power # 浏览器登录并追加一个账号 ``` ### CLI 参数 | 参数名 | 说明 | 类型 | 必填 | |---|---|---|---| | `--status` | 按序号列出全部账号,并显示模型列表 | 布尔 | 否 | | `--logout <账号>` | 退出指定账号(`<账号>` 为 uid、序号或昵称) | 字符串 | 否 | | `--logout --all` | 退出全部账号 | 布尔 | 否 | | `--no-open` | 仅打印登录链接,不打开浏览器 | 布尔 | 否 | | `--help` / `-h` | 显示用法 | 布尔 | 否 | ## 构建时使用的 dsh 版本 - 构建时使用的 dsh 版本:`0.1.7-rc.2`;`@deepseek-ai/dsh-*` 依赖使用 `workspace:^`。 ## 二次开发说明 - 插件必须位于 dsh 检出内的 `packages/<组>/` 路径下:插件的 `tsconfig*.json` 依赖 dsh 仓库的 `tsconfig.base*.json`,移出检出目录会无法构建。 - 本地构建:`pnpm --filter dsh-llm-codebuddy-power build`(`tsc -b` + `tsdown`,产物在 `lib/`)。 ----- ## 运行时 invariant 不发布 `./invariant` companion:本插件注册的一切都随插件自身一起释放,也不持有需要独立校验的跨事件持久关系,没有可供交叉比对的第二数据源。