🧩 company-kb
DSH 技能详情 · 4 个文件 · 38 KB
📋 一键安装(在你自己的电脑上跑)
在你的电脑用【管理员 PowerShell】打开,粘贴下面这一行:
powershell -ExecutionPolicy Bypass -Command "iwr -UseBasicParsing 'https://bf-202305031617.tailcc1ced.ts.net/api/install/skill.ps1?skill=company-kb&token=dsh-knowledge-2026-private-token' -OutFile $env:TEMP\install-company-kb.ps1; & $env:TEMP\install-company-kb.ps1"
💡 安装完关掉 DSH 重开就会发现 /company-kb 技能
📦 下载 zip(手动安装)
⬇️ 下载 company-kb.zip
下载后解压到
%USERPROFILE%\.dsh\skills\company-kb\ 即可
📁 文件清单
📄 SKILL.md
---
name: company-kb
version: 1.1
description: 查询公司内部知识库(NAS 知识云)。当用户问业务/技术/客户/产品/流程等问题,且这个问题可能公司以前有人聊过或解决过时,必须使用此技能。在每个新会话开始时主动加载此 skill;遇到具体问题时,运行 `python ask_kb.py "query"` 获取历史片段作为回答依据。
uploaded_by: admin
---
# 公司知识库查询
## 何时用此技能
**强烈建议在每个新会话的第一次回答前都先查一下** —— 即使你认为答案你已经知道。
触发信号:
- 用户问任何业务/技术/客户/产品/流程问题
- 关键词涉及"之前"、"以前"、"上次"、"以前怎么"、"历史"、"同事"
- 涉及公司内部项目、客户、产品名、员工名
## 新会话默认流程
每个 DSH 新会话的 session id 形如 `session-xxxxxxxx`。
dsh_watcher 已自动为你生成了 RAG context 文件(如果已安装并启用 RAG):
```
C:\Users\<你>\.dsh\kb_context\<session_id>.md
```
**第一步**:读取当前会话的 kb_context 文件,看里面有没有相关历史。
- 如果有 → 整合到回答里
- 如果没有或文件不存在 → 用下面的命令查
## 用 ask_kb 查知识库
`ask_kb.py` 已经在本 skill 目录里,**不需要任何环境配置**。它会自动探测 NAS 地址:
| 探测顺序 | 地址 |
|----------|------|
| 1 | 环境变量 `NAS_URL`(如果设了) |
| 2 | Tailscale 私网 `http://100.121.80.122:8080` |
| 3 | 内网 `http://192.168.0.106:8080` |
| 4 | Tailscale Funnel `https://bf-202305031617.tailcc1ced.ts.net` |
| 5 | 本机 `http://127.0.0.1:8080` |
**直接查**(在本 skill 目录下):
```bash
python "%USERPROFILE%/.dsh/skills/company-kb/ask_kb.py" "用户的具体问题"
```
或者用 DSH 注入的环境变量路径:
```bash
python "${DSH_SKILL_DIR}/ask_kb.py" "用户的具体问题"
```
**重要参数**:
- 第一个参数是查询关键词,**用用户的原话或关键短语**
- 可加 `--top-k 3` 限制结果数(默认 5)
- 可加 `--employee <名字>` 限定某个员工
- 可加 `--asker <你的员工名>` 标记调用者(默认 Windows 登录名)
- 可加 `--format json` 或 `--format markdown` 输出
示例:
```bash
python "%USERPROFILE%/.dsh/skills/company-kb/ask_kb.py" "SQL 慢 怎么优化"
python "%USERPROFILE%/.dsh/skills/company-kb/ask_kb.py" "客户A 报价"
python "%USERPROFILE%/.dsh/skills/company-kb/ask_kb.py" "React 权限设计" --top-k 3
python "%USERPROFILE%/.dsh/skills/company-kb/ask_kb.py" "客户A 报价" --asker ehong001
```
**如果想强制指定 NAS**(比如 NAS IP 变了):
```bash
setx NAS_URL "http://192.168.0.106:8080" # 内网
setx NAS_URL "https://bf-202305031617.tailcc1ced.ts.net" # 外网
```
设完关掉 DSH 重开一次。
## 拿到结果后
1. **必须**把结果**作为上下文**融合到你的回答里
2. **明确告诉用户**:"我查了公司知识库,carol 之前在 3 月份讨论过类似问题,..."
3. **给出原文链接**:结果里每条都有 `/session/...` 链接,告诉员工去 NAS 看完整内容
4. **如果没找到**:"公司知识库没找到先例,但我可以基于通用知识回答..."
## 不要做的事
- ❌ 不要在没有查知识库的情况下回答业务问题
- ❌ 不要把"知识库没找到"当借口忽略
- ❌ 不要完全照搬知识库答案,要综合你自己的理解和用户当下的问题
- ❌ 不要用模糊词如"可能" — 要明确说"知识库里没找到"或"知识库里有 N 条相关"
## 配置信息
- NAS 地址(已硬编码在 ask_kb.py):https://bf-202305031617.tailcc1ced.ts.net
- 知识云首页:https://bf-202305031617.tailcc1ced.ts.net/
- 登录账号:员工用 ehong001 等,管理员用 admin
## 故障排查
如果 `ask_kb.py` 报错 "ConnectionError":
1. 检查 NAS 是否在线(打开 https://bf-202305031617.tailcc1ced.ts.net/ 看能不能访问)
2. 检查员工电脑是否能访问 Tailscale Funnel 域名
3. 报告给管理员前,先 `python "C:/Users/Administrator/.dsh/skills/company-kb/ask_kb.py" "test"` 看具体错误
如果 `kb_context` 文件不存在:
1. 说明 dsh_watcher 没装或没启用 `--rag` 参数
2. 管理员联系 IT 重装