dsh-weknora
Tencent/WeKnora把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
智能体设置:在侧边栏管理可复用的子智能体档案,为每个档案写明适用场景与所用提供方/模型,任务中由智能体按场景自动拉起对应的子智能体。
为 DeepSeek Harness 增加一个可在任务之外手动维护智能体的面板(侧边栏名称:智能体设置 / Agent Settings):每个档案写清「它做什么」「什么任务该用它」「用哪个 provider/模型」,然后在任意任务里由模型按 whenToUse 自行启动对应的子 Agent,或由你显式点选。
能力 · 位置 侧边栏「智能体设置」图标 + 中央管理页(列表 / 新建 / 编辑 / 启停 / 自动启动开关 / 行内二次确认删除) · sidebar.panellist + main(key agent-settings) 每个档案携带 provider / model / reasoningEffort / maxTokens 路由 · 保存时用 llm.resolveCallConfig 预检,写错在表单里就失败 模型工具:list_roster_agents、delegate_to_roster_agent、save_roster_agent、remove_roster_agent · ctx.tools.register 自动启动:把启用且开了 autoLaunch 的档案按 whenToUse 写进系统提示,模型匹配就指派,不必先问你 · systemPrompt.section(TOOL_SUBAGENT 前一位) 耐久存储 · ${DSH_HOME:-~/.dsh}/agent-settings.json,原子替换写入(旧名 agent-roster.json 会自动迁移一次)
面板与工具共用同一份存储:面板里改的档案,模型下一次 list_roster_agents 立刻看到;模型 save_roster_agent 写的档案,面板刷新即出现。
本地目录:
dsh plugin --profile web add /home/kali/Documents/deepseek-harness/default-workspace/plugins/dsh-agent-settings或用插件管理器以该目录为 target 执行 install_bundle。
从 GitHub(上架 dsh-market 后):
dsh plugin --profile web add github:OWNER/dsh-agent-settings上架到 dsh-market 的完整步骤见 GITHUB-SETUP.md。
cordis.patch.yml)- id: agent-settings
name: 'dsh-agent-settings'
config:
storagePath: ~/.dsh/agent-settings.json # 可省略,默认即此
autoLaunch: true # false = 只留工具,不写系统提示
maxAgents: 24 # 档案上限(1–256)
spawnProvider: spawn # 子 Agent 后端:spawn(全新)或 fork(继承对话)
toolName: delegate_to_roster_agent # 委派工具名index.js 的 normalizeProfile / view、client.js 的 toDraft / draftToPayload、CONTRACT.md 三处同步。references/user-actions.md 的「一个操作两个调用方」)。description,任务说明来自调用时的 prompt;两者在委派时拼成一条文本提示。icon.svg — 插件清单读取的矢量源。透明背景、扁平配色(#145AF3 / #7CB7FF /#45D9E7 / #F2AF63),与 dsh 自带 bundle 图标的视觉语言一致
client.js 里的 RosterIcon 用 currentColor 描边,继承宿主文字颜色,且在 16px 下仍可辨认
assets/icon-180.png / assets/icon-512.png — dsh-market 目录条目所需的位图(目录不接受 SVG)assets/icon-preview.png — 与自带图标的同尺度对照图order 升序;新建自动排到末尾)。efforts,输出上限默认取模型配置的defaultMaxTokens(老档案里为 null 的会在启动时补写一次)。
includeDisabled 才能在工具里看到)。