Chuyển đến nội dung chính

dsh-baode

Đã xác minh

dsh-baode · v1.1.2 · MIT · Giao diện web

把「不着急但需要 agent 能力」的活外包给豆包工作桌面端:任务卡 + 契约 + 台账 + 技能沉淀,省 DSH 的 token。运行时依赖只有 schemastery(宿主自带,用于设置页 schema)。

Cài đặt

dsh plugin add dsh-baode

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

dsh-baode

把不着急但需要 agent 能力的活,外包给「豆包工作」桌面端 —— 用任务卡 + 契约 + 台账把交付物要回来,省 DSH 自己的 token。

状态:P0–P4 已完成;P5(发布准备)就绪 —— npm pack 干跑通过,且已验证"解到空目录、只靠包内容完成 bootstrap"。 规划与决策见仓库内 _plugin-prep/DSH-BAODE-PLUGIN-PLAN.md,v2 清单见 docs/V2-BACKLOG.md。


前置依赖(少一条就是红的)

# 前置 为什么
1 Windows CDP 启动器(.lnk + explorer.exe)、PowerShell 脚本、%LOCALAPPDATA% 路径
2 Node >=22.19 需要内置 WebSocket + fetch 才能零依赖直连 CDP
3 豆包工作桌面版已安装且已登录 没登录,连上 CDP 也拿不到输入框
4 豆包必须以调试端口启动 —— --remote-debugging-port=9222 --remote-allow-origins=* 否则 CDP 不通,baode doctor 会红在这一条(本包的快捷方式会自动带上这两个参数)
5 回环 9222 未被占用 端口冲突会连到别的进程
6 能写豆包的 .user_skills 技能要装进豆包那一侧它才会用;受限沙箱下会被拒
7 Python 3 豆包执行 verify_*.py 验收脚本、以及本包 baode audit 调用 scripts/audit-extract.py(装在跑豆包的那台机器上)
8 DSH ≥ 0.1.5-rc.2 本插件依赖的装配行为在这个版本上验证过

运行时依赖:只有 schemastery(DSH 宿主自带,用于「设置 → 插件 → 插件配置」那张卡片的 schema)。除它以外只用 node:* 内置模块。

若是 link: 开发安装,schemastery 可能因 Node 按真实路径解析而找不到 —— 此时设置卡片会静默不出现,插件其余功能不受影响(baode doctor 里不会因此报红)。

首次安装三步

# 1) 用命令看缺什么、去哪儿补(首跑会生成数据目录与调试快捷方式)
baode doctor          # 期望:只剩「豆包未以调试端口启动」这一条
baode bootstrap       # 探测豆包 + 生成快捷方式 + 渲染技能到数据目录

# 2) 用该快捷方式启动豆包并登录,再确认
baode doctor          # 期望 healthy: true

# 3) 把技能装进豆包
baode install

豆包没开、或者"开了但 CDP 不通"

baode wake(工具面是 baode_wake)先判明是四种现场里的哪一种,再决定做什么:

现场 判据 动作
running-with-cdp 有进程 + CDP 可达 + 有聊天页 什么都不做,直接可用
not-running 没有 Doubao.exe + CDP 不通 自动唤醒:用快捷方式启动,然后轮询到出现聊天页(默认等 60s)。超时 ≠ 失败 —— 启动慢或需要你登录都会这样,再跑一次即可
running-without-cdp 有进程,但 CDP 不通 默认拒绝动手。Chromium 是单实例:这个实例没带调试端口时,再按带端口的快捷方式只会把它唤到前台(参数被丢弃、新进程直接退出)—— 这也是"我明明用快捷方式启动的"最常见的原因。唯一解法是"完全退出豆包 → 用快捷方式启动";要 baode 替你重启,必须显式 restart=true + consent=true(会关掉你正在用的窗口,未发出的内容会丢)
port-foreign 9222 有人应答,但没有聊天页 不启动(启动也没用)—— 是别的进程占了 9222;换端口(CDP_URL / cdpUrl)或查清占用者

安全约定:没有显式同意,baode 绝不结束任何进程;即使同意,也只结束可执行路径确实在豆包目录下的进程(路径读不到就拒绝,绝不盲杀)。baode doctor 在 CDP 不通时会把现场与下一步直接打出来;CDP 正常时不额外花时间探测。


安装

# 本机开发目录(link:改代码只需重启,不必重装)
dsh plugin --profile web add file:E:/workplace/dsh-baode

# 发布后
dsh plugin --profile web add dsh-baode

装完必须验证(只看 node_modules 或市场 UI 会骗你):

dsh --profile web --dump-config    # 抓 `- id: baode`

配置

项 默认 覆盖方式
数据目录 $DSH_HOME/.dsh-baode 环境变量 BAODE_DATA_DIR、包内 .local.json、插件 patch 行的 config.dataDir
豆包 .user_skills 自动探测 %LOCALAPPDATA% config.json 的 userSkills、环境变量 DOUBAO_USER_SKILLS
CDP 地址 http://127.0.0.1:9222 config.json 的 cdpUrl、环境变量 CDP_URL
监视调参(采样间隔 / 冻结判据 / 期限公式…) config.json 的 watch 段 设置 → 插件 → 插件配置 → 「豆包委派(baode)」卡片(写入 settings.yaml,优先级最高)

代码进包、数据留机器(.local.json 记录本机数据目录,按设计不随包发布):

<包>(随 npm 发布)              数据目录/(留在机器上)
├── lib/  bin/  assets/          ├── jobs/  ledger.jsonl  captures/
├── scripts/audit-extract.py     ├── audits/  proposals/  reports/
├── cordis.patch.yml             ├── config.json
├── README.md  LICENSE           ├── skills-rendered/
└── package.json                 └── launch-doubao-debug.lnk

test/、docs/、scripts/install-skills.ps1 只存在于仓库,不随包发布(自检脚本请在本仓库里跑)。


CLI

baode doctor      环境自检(跨工具)
baode bootstrap   首跑准备:探测豆包 + 生成调试快捷方式 + 渲染技能
baode wake        把豆包推进到 CDP 可用(唤醒/诊断;重启需 --restart --yes)
baode probe       CDP 与输入框可用性
baode route       描述 + 输入 → 任务卡(过 G1–G4 四道闸)
baode submit      提交任务卡
baode distill     从成功委派蒸馏候选技能
baode attach      把证据并入已有食谱
baode review      重放审核报告
baode regress     历史证据回归重放
baode audit       产物内容抽检
baode validate    校验任务卡规范 C1–C8
baode recipes     列食谱 + 台账统计
baode repair      台账字段修复
baode install     安装技能 → 豆包 .user_skills

自检(在仓库里跑,不随 npm 包发布):

node test/verify-static.mjs        # S1–S7:出口结构、patch 合法性、id 冲突、!!js 红线
node test/verify-settings.mjs      # P4:设置页命名空间 + 浏览器卡片(含离线跑 bundle)
node test/verify-wake.mjs          # v1.1:四种现场 + 未同意绝不杀 + 超时≠失败
node test/verify-pack.mjs          # P5:npm pack 干跑 → 解到空目录 → bootstrap → audit 脚本冒烟

License

MIT(见 LICENSE)