dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
面向 DeepSeek Harness 的独立插件开发环境。它把源码参考、运行时检查、实验记录、验证和正式化流程收进一个可复现的 Forge Profile,同时避免污染日常使用的 DSH 环境。
当前版本针对
@deepseek-ai/dsh@0.1.0-rc.6,参考源码固定在官方提交47f943859bef60e4160492346772ded9b24f765a。本项目不是 DeepSeek 官方项目。
~/.dsh-forge Home、forge Profile 和开发者 Agent Preset。quick、package、full 验证流程。~/.dsh 中的用户配置,同时保护 Forge 本地修改。~/.dsh 各 Profile 通过 cordis.patch.yml insert 声明的 out-of-tree 插件(包目录 + Forge Profile 注册),让主线的插件在 Forge 环境同样可用。需要 Node.js ^22.19.0 或 >=24,以及 pnpm。
git clone https://github.com/zhn1100/dsh-forge.git
cd dsh-forge
pnpm install
pnpm run verify
node lib/cli.js install
安装程序不会写入普通 ~/.dsh,默认目标为 ~/.dsh-forge。
在需要开发插件的工作区运行:
DSH_HOME="$HOME/.dsh-forge" npx @deepseek-ai/dsh@0.1.0-rc.6 --profile forge
Forge Profile 默认监听 127.0.0.1:3188(与主线 dsh 的 3080 错开,可同时运行);需要其他端口时用 --port <端口> 覆盖。
打开 Web UI 后选择 DSH Forge 开发者 Preset。
Forge 启动时同步的是 ~/.dsh → ~/.dsh-forge 的用户态数据,不同步当前工作文件夹的源码。
forge/、profiles/、.agent-presets/ 和 cordis.patch.yml 永不参与 Home 同步(唯一例外:主线 Profile 通过 insert 声明的 out-of-tree 插件会镜像到 ~/.dsh-forge/profiles/node_modules/ 并在 Forge Profile 的 cordis.patch.yml 注册)。同步基线保存在 ~/.dsh-forge/forge/home-sync-manifest.json。如需使用其他上游 Home,可显式设置 DSH_FORGE_SOURCE_HOME。
# 环境检查
DSH_HOME="$HOME/.dsh-forge" node lib/cli.js doctor
# 重建指定 Harness revision 的知识索引
DSH_HOME="$HOME/.dsh-forge" node lib/cli.js sync --revision <commit>
# 搜索本地索引
DSH_HOME="$HOME/.dsh-forge" node lib/cli.js search "Service.init"
# 验证当前插件项目
node lib/cli.js verify --root . --level full
完整设计和安全边界见 任务书。
pnpm run verify
验证包括类型检查、测试、构建和包结构检查。动态 Cordis Package 仍属于显式信任边界;Forge 提供隔离和恢复能力,但不将其包装成强安全沙箱。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。