[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105356":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},105356,"KnowWork","knowflow-ai\u002FKnowWork","knowflow-ai","基于 DeepSeek Harness 的企业级私有化 Agent 平台",null,"Python",72,10,61,0,7,21,57.2,"Apache License 2.0",false,"main",[],"2026-11-01 00:14:58","\u003Cp align=\"center\">\n  \u003Cimg src=\"web\u002Fpublic\u002Fbrand\u002Fknowwork-logo.svg\" alt=\"KnowWork\" height=\"56\">\n\u003C\u002Fp>\n\n\u003Ch3 align=\"center\">开源的企业私有化 Agent 平台\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n  以 DeepSeek Harness 为内核，补齐企业上线要的账号权限、会话沙箱、审批、审计与用量。\u003Cbr>\n  你写技能、接工具、接知识库，其余的交给 KnowWork。\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002FKnowWork\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-v0.0.4-2b7de9\" alt=\"Version: v0.0.4\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue\" alt=\"License: Apache 2.0\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@deepseek-ai\u002Fdsh\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuilt%20on-DeepSeek%20Harness-4D6BFE\" alt=\"Built on DeepSeek Harness\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  简体中文 | \u003Ca href=\"README_en.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n> **DeepSeek Harness 让 Agent 会干活，KnowWork 让你只管业务：企业私有化要的那一层，它已经做好了。**\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"guide\u002Fimages\u002Fknowwork-overview.svg\" alt=\"DeepSeek Harness 加上 KnowWork 补的企业层：RBAC 权限管理、企业沙箱、知识库、记忆层（规划中）、模型网关、审批与审计、技能管控、私有化部署\" width=\"860\">\n\u003C\u002Fp>\n\n合同审查、制度问答、报表整理、工单处理，每个行业都会有一批贴着自己业务的 Agent。它们要私有化部署进企业，绕不开同一层东西，\n以前每个团队都得从头搭一遍：\n\n| 企业要的 | KnowWork 怎么做 |\n|---|---|\n| 数据和密钥不出机房 | 整套部署在企业自己的服务器上；模型和工具的凭证只在业务服务里，DSH 拿不到 |\n| 谁能用什么，跟着组织架构走 | 模型、知识库、工具、技能按人、用户组、部门授权，沿部门树继承 |\n| Agent 碰不到服务器 | 一个会话一个 Docker 容器，模型发起的命令和文件读写都在里面 |\n| 写操作有人批，每一步能回看 | 写入类和高风险的工具调用先由发起人批准；每一轮逐步回看，人和 Agent 的操作分开审计 |\n| 用量算得清 | 按人、按模型统计 token 与费用 |\n\n**Apache 2.0，没有附加条款。** 可以商用，可以改名、换 Logo、贴牌交付给客户；产品名和 Logo 在系统设置里就能换。\n\n## 演示\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe4ac1c88-32c2-4976-8381-e954add99ef6\n\n\u003Cp align=\"center\">\n  \u003Csub>两分多钟走一遍：知识库问答带出处、待办与提问、生成 Word \u002F HTML \u002F PPT 并在线预览、逐步回看、按部门授权与审计。1080p 原片在 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002FKnowWork\u002Freleases\u002Fdownload\u002Fv0.0.1\u002Fknowwork-demo.mp4\">Release\u003C\u002Fa> 下载\u003C\u002Fsub>\n\u003C\u002Fp>\n\n| 回答带出处，点开就是原文 | 先列待办，动笔前问清楚 |\n|:-:|:-:|\n| ![知识库问答与引用出处](guide\u002Fimages\u002Fanswer-citation.png) | ![待办清单与提问卡片](guide\u002Fimages\u002Ftodo-question.png) |\n| **交付的 PPT 在线预览** | **交付的 HTML 在线预览** |\n| ![培训 PPT 在线预览](guide\u002Fimages\u002Fpreview-pptx.png) | ![宣传页 HTML 在线预览](guide\u002Fimages\u002Fpreview-html.png) |\n| **每一轮都能逐步回看** | **知识库按部门授权** |\n| ![运行详情](guide\u002Fimages\u002Frun-trace.png) | ![新增授权](guide\u002Fimages\u002Fadmin-grant.png) |\n\n## 特点\n\n- **写技能就是写 Markdown。** `SKILL.md` 加参考资料打成 ZIP 上传，有草稿和发布版本，可以只授权给某个部门；\n  输入 `\u002F技能名` 显式调用，或让模型按需加载。Word、Excel、PPT 三个技能随产品提供。\n- **技能能管住模型。** 技能可以声明「必须调用成功的工具」，没做到，模型交不出最终回答；技能认领的专业工具，\n  加载技能之前模型看不到。合同审查这类不能靠模型自觉的场景，约束是硬的。\n- **引用编不出来。** 回答里的引用编号只能指向这一轮工具实际返回过的证据，点开就是原文。\n- **Agent 碰不到服务器。** DSH 官方的本机 shell、文件系统、子进程都换成了落到会话沙箱的实现。附件和知识库里的\n  提示词注入，碰不到服务器上的数据库、密钥和别人的数据。\n- **DSH 里不放密钥。** 模型调用、工具执行、技能下载都由运行时宿主带短期令牌回调业务服务，凭证从不进 DSH。\n- **跟着 DSH 升级，不 fork。** 只用 DSH 官方扩展点：配置档、插件、技能提供方、工具收窄。想看 DSH 怎么做生产级的\n  二次开发，这里是一份完整的参考。\n- **国内装得上。** 一条命令安装，镜像全在阿里云容器镜像服务；模型接任意 OpenAI 兼容接口，DeepSeek、通义千问、\n  自建的 vLLM 都行。\n\n## 快速开始\n\n### 部署到服务器\n\n需要一台 Linux（x86_64）服务器，装好 Docker 24 以上与 Compose v2.24 以上。镜像里会话沙箱最大，约 2.2 GB，磁盘要留足。\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002FKnowWork.git\ncd KnowWork\ndeploy\u002Finstall.sh\n```\n\n脚本会生成 `deploy\u002F.env`、从阿里云容器镜像服务拉镜像、启动服务并等到就绪，最后打印访问地址。云服务器的公网 IP\n不在网卡上，用 `deploy\u002Finstall.sh --url http:\u002F\u002F公网IP:8080` 指定，并在安全组里放行 8080 端口。浏览器打开后按下面三步走。\n\n1. 按初始化向导创建管理员；\n2. 到「管理 → 模型」添加模型厂商和模型，模型别名填 `default`；\n3. 回到工作台，开始第一个任务。\n\n> 会话沙箱默认打开，需要把本机的 `docker.sock` 挂给业务服务，这等于给了它宿主机 root 权限，只适合私有化单机部署。\n> 不需要执行命令和生成文件时，用 `deploy\u002Finstall.sh --no-sandbox` 关掉。\n\n部署选项、HTTPS、升级见 [guide\u002Fdeploy.md](guide\u002Fdeploy.md)，配置项见 [guide\u002Fconfiguration.md](guide\u002Fconfiguration.md)。\n别的系统要调 KnowWork（API Key、对外知识接口、MCP），见 [guide\u002Fapi.md](guide\u002Fapi.md)；部署好以后接口文档在 `\u002Fapi\u002Fdocs`。\n\n### 本机开发\n\n需要 Python 3.12 与 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F)、Node.js 22.19 以上、Docker。不用装 PostgreSQL，开发用嵌入式的。\n\n```sh\ncd runtime-host && npm install && cd ..\ncd web && npm install && cd ..\ndocker build -f deploy\u002Fdocker\u002Fsandbox.Dockerfile -t knowwork-sandbox:dev .   # 会话沙箱镜像，第一次要构建\ncd server && uv sync && uv run python ..\u002Fscripts\u002Fdev_stack.py\n```\n\n一条命令拉起嵌入式 PostgreSQL、运行时宿主、业务服务和前端，打开 http:\u002F\u002F127.0.0.1:5173 。检查命令与代码约定见\n[guide\u002Fdevelopment.md](guide\u002Fdevelopment.md)。\n\n## 架构\n\n```text\n浏览器 ──> 网关（nginx） ──> 业务服务（Python，FastAPI） ──> PostgreSQL \u002F Redis \u002F 对象存储\n                                  │  ▲\n                     内核合同 kernel.v1  │  短期令牌回调：模型调用、工具执行、技能下载、沙箱\n                                  ▼  │\n                            运行时宿主（Node，DSH） ──> 会话沙箱（每个会话一个 Docker 容器）\n```\n\n- 浏览器只连业务服务。账号、权限、模型密钥、审计都在业务服务里，DSH 里不放密钥，也不做权限判断。\n- 运行时宿主用 DSH 官方的配置档与插件扩展点组装 Agent；模型调用、工具执行都由宿主带短期令牌回调业务服务。\n- 业务服务只通过带版本号的内核合同调用宿主，DSH 升级时变化收在宿主一侧。\n\n| 目录 | 内容 |\n|---|---|\n| `server\u002F` | 业务服务：Python 3.12、FastAPI、SQLAlchemy 2（异步）、Alembic |\n| `runtime-host\u002F` | 运行时宿主：DSH 配置档、插件组装（`cordis.patch.yml`）与 KnowWork 自己的插件 |\n| `web\u002F` | 前端：React 19、TypeScript、Vite、Tailwind 4 |\n| `deploy\u002F` | Docker Compose、各镜像的 Dockerfile、nginx 网关、`install.sh` |\n| `guide\u002F` | 部署、配置、开发、API 使用说明 |\n\n\n## 几个设计取舍\n\n**只做网页版，不做桌面版。** 企业私有化部署是多人共用一台服务器，权限、模型、审计都要由管理员集中管；\n员工打开浏览器就能用，不用在每台电脑上装客户端。\n\n**持续兼容 DSH。** KnowWork 不 fork DSH，具体做法有三条。\n\n- 所有 `@deepseek-ai\u002F*` 包锁在同一个版本（当前 `0.2.1-rc.2`）；\n- 升级前先跑预检和准入测试（建会话、执行、取消、恢复、技能加载、子 Agent、工具桥等），通过才换版本；\n- DSH 发新版本后跟进升级，DSH 自带的新能力直接用上。\n\n**命令一律落到沙箱。** 桌面端的 Agent 可以假定「这台机器归用户一个人」，企业服务器不行：上面有数据库连接、密钥和\n别人的数据。所以模型发起的命令和文件读写不在宿主本机执行，都经业务服务落到会话自己的容器里。代价是命令要等跑完\n才一次拿回输出，需要和宿主实时双向通信的 DSH 能力暂时用不了。\n\n## 功能清单\n\n\u003Cdetails>\n\u003Csummary>展开全部功能：对话、沙箱、交付、技能、知识与工具、模型、组织与审计、账号、部署\u003C\u002Fsummary>\n\n### 对话与执行\n\n| 能力 | 说明 |\n|---|---|\n| 执行过程可见 | 流式展示模型的每一步，调了哪个工具、参数和结果都能看到，默认收起，随时展开；回答逐字输出 |\n| 快速问答 | 只查知识库（检索，片段不全时读命中处前后）、带出处作答，不走完整的智能体流程；会话中途可以在智能体和快速问答之间切换 |\n| 思考开关 | 对话模型可以开关思考，按各服务商自己的参数写法传 |\n| @ 点名 | 输入框里 @ 知识库，这一轮只查点到的库；@ 技能等于显式调用它 |\n| 插话与取消 | 回车把消息排到当前任务完成后发送，组合键补充给正在跑的任务；随时可以取消 |\n| 任务不中断 | 关掉浏览器，任务照样在服务端跑完；运行时宿主重启后会话自动恢复 |\n| DSH 原生能力 | 子 Agent、待办清单、后台任务、向用户提问，都在网页里展示和应答 |\n| 附件 | 上传的文件放进会话沙箱给模型读；PDF、Office 经 MinerU 解析成 Markdown，MinerU 在管理后台配置，改了不用重启 |\n| 引用溯源 | 回答里的引用编号只能指向工具实际返回过的证据，点开看原文 |\n| 技能调用 | 输入 `\u002F技能名` 显式调用，或由模型按需加载 |\n| 回答语言 | 可指定中文或英文，不指定时按提问判断 |\n| 运行详情 | 逐步查看自己这一轮的模型输出、工具调用和失败重试 |\n\n### 会话沙箱\n\n| 能力 | 说明 |\n|---|---|\n| 一会话一容器 | 模型的命令和文件读写都在这个会话自己的 Docker 容器里，碰不到服务器上的数据库、密钥和别人的数据 |\n| 加固 | 去掉全部 Linux 能力、禁止提权；可以断网；可以换用 gVisor 等运行时 |\n| Office 工具链 | 内置 LibreOffice、docx-js、pptxgenjs、pandas、matplotlib 等，Word、Excel、PPT 能生成，也能在原文件上修订、批注、重算公式 |\n| 自动回收 | 空闲容器自动回收，再用时附件重新放好 |\n\n### 交付文件\n\n| 能力 | 说明 |\n|---|---|\n| 明确交付 | 只有模型用 DSH 官方的 `present` 交付的文件才进会话，过程中的临时文件不会混进来 |\n| 在线预览 | Word、Excel、PDF、Markdown、CSV 等在线预览；Word 直接渲染原件，表格行号与 Excel 一致；PDF 文字可选中、可缩放 |\n| 安全下载 | 下载时实时校验权限；导出的表格做了公式注入防护 |\n\n### 技能\n\n| 能力 | 说明 |\n|---|---|\n| 技能包 | `SKILL.md` 加资料打成 ZIP 上传，可声明需要的环境变量 |\n| 草稿与发布 | 发布带版本号；分个人技能和空间技能；可以停用 |\n| 内置 Office 技能 | Word、Excel、PPT 三个技能随产品提供 |\n| 完成判据 | 技能可以声明必须成功调用的工具，没做到，模型给不出最终回答 |\n| 专业工具解锁 | 技能认领的专业工具，在加载技能之前对模型不可见 |\n| 运行事实 | 每次运行记下版本、调用方式、每一步的结果、耗时、用量和失败阶段；按版本看成功率，点开看那一轮的每一步 |\n\n### 知识与工具\n\n| 能力 | 说明 |\n|---|---|\n| KnowFlow 知识库 | 按知识库授权，只检索提问人有权使用的库，引用落回原文 |\n| 对外检索 | 别的系统经 REST 接口或 MCP 检索知识库；API Key 要带 `knowledge:read` 范围，按 Key 所属用户的授权收窄 |\n| MCP | 管理员接入 MCP 服务，按人、用户组、部门授权 |\n| 审批 | 写入类和高风险的工具调用前由发起人批准，可以选「本会话内同类操作不再询问」 |\n| 动作回执 | 每次工具调用按动作唯一记录，重试不会重复执行写操作 |\n| 凭证不可见 | 工具和模型的凭证只在业务服务里，模型和运行时宿主都拿不到 |\n\n### 模型\n\n| 能力 | 说明 |\n|---|---|\n| 模型目录 | 接 OpenAI 兼容接口的模型（DeepSeek、通义千问、自建的 vLLM 等），带连通测试 |\n| 模型网关 | 运行时宿主带短期令牌经业务服务调用模型，密钥加密存储；单轮调用次数有上限，防止失控 |\n| 用量与费用 | 按人、按模型统计 token 与费用 |\n\n### 组织、权限与审计\n\n| 能力 | 说明 |\n|---|---|\n| 组织 | 成员、邀请、部门树、用户组 |\n| 角色与授权 | 空间内三档角色（所有者、管理员、成员）；技能、工具、知识库可以授权给人、用户组、部门，沿部门树继承；登记的模型空间成员都能用 |\n| 数据隔离 | PostgreSQL 行级安全按工作空间隔离，应用账号不是表的所有者 |\n| 审计 | 人的写操作和 Agent 的工具调用分开记录，可以查询 |\n| 运行记录 | 管理员按时间、成员、状态查看全空间的每一轮；查看别人的运行会记进审计 |\n\n### 账号与系统\n\n| 能力 | 说明 |\n|---|---|\n| 登录 | 账号密码、邀请注册、OIDC 单点登录；登录失败有限流 |\n| API Key | 个人 API Key 只存哈希，限定权限范围，可设过期、可吊销 |\n| 品牌 | 产品名称和 Logo 可以在系统设置里换成自己的 |\n\n### 部署与运维\n\n| 能力 | 说明 |\n|---|---|\n| 一条命令安装 | `install.sh` 检查环境、生成配置、拉镜像、启动并等到就绪 |\n| 国内可用 | 全部镜像放在阿里云容器镜像服务，包括 PostgreSQL、Redis、RustFS |\n| 自动迁移 | 业务服务启动时自动升级数据库，带锁 |\n| 密钥自动生成 | 部署主密钥自动生成，其余凭证由它派生，不用手填 |\n| 健康检查 | `\u002Fready` 报告数据库和运行时宿主是否正常 |\n| 运行面板 | 系统管理员看后台任务（附件解析等）的排队、执行和 worker 心跳 |\n\n\u003C\u002Fdetails>\n\n## 现状与路线图\n\n当前版本 v0.0.4，接口和数据结构在 1.0 之前还可能变。已知限制见 [CHANGELOG.md](CHANGELOG.md)。\n\n接下来要做：技能验证台（用例、结构断言、草稿版对比发布版）、场景包、固定工作流的界面、备份与恢复、修改密码与禁用账号。\n\n## 参与开发\n\n欢迎这几类贡献：\n\n- **写技能**：把你所在行业的做法写成技能包，在 issue 里分享；\n- **接工具**：接入 MCP 服务时踩到的坑、缺的配置项；\n- **沙箱与部署**：别的容器运行时、别的发行版和云厂商上装不上的问题；\n- **文档**：`guide\u002F` 目前只有中文，欢迎补英文。\n\n新功能或较大的改动请先开 issue 说清楚要解决什么问题。提交前请读 [CONTRIBUTING.md](CONTRIBUTING.md)，\n安全问题请按 [SECURITY.md](SECURITY.md) 私下报告。觉得 KnowWork 有用，点个 Star 能让更多人看到它。\n\n## 相关项目\n\nKnowWork 和下面几个项目同属一个产品家族：KnowFlow 管知识，KnowFlow Analytics 管数据，KnowEval 管评测，KnowWork 管干活。\n\n| 项目 | 是什么 |\n|---|---|\n| [KnowFlow](https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002FKnowFlow) | 企业知识库。KnowWork 内置了它的连接器，接上后 Agent 只检索提问人有权使用的库，引用落回原文 |\n| [KnowFlow Analytics](https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002Fanalytics) | 面向 AI Agent 与数据应用的开源语义层和受治理查询引擎。指标、维度、口径维护成可版本化的语义模型，大模型只写业务名组成的语义 SQL，访问数据库的 SQL 由系统确定性编译 |\n| [KnowEval](https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002FKnowEval) | 中文企业文档 RAG 的端到端开源评测工具。从原始文档出发，测答得准不准、不知道时会不会说不知道、引用能不能和原文对上 |\n\n## 许可证与致谢\n\nKnowWork 以 [Apache License 2.0](LICENSE) 发布。\n\n- [DeepSeek Harness](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@deepseek-ai\u002Fdsh)，Agent 内核（MIT）。\n- [WeKnora](https:\u002F\u002Fgithub.com\u002FTencent\u002FWeKnora)，会话沙箱的 Docker 后端与部署编排、IM 渠道、知识检索与引用、回答方式与输入框的 @ 菜单参照了它的做法（MIT）。\n- [@openai\u002Fapps-sdk-ui](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@openai\u002Fapps-sdk-ui)，界面组件（MIT）。\n\n第三方声明见 [NOTICE](NOTICE)。\n\n## 社区与支持\n\n- **微信公众号** - KnowFlow 企业知识库\n- **交流群** - 加微信 `skycode007`，备注「加群」\n- **问题反馈** - [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fknowflow-ai\u002FKnowWork\u002Fissues)\n",2,"2026-10-31 04:26:31","CREATED_QUERY"]