Okto Pulse
面向 AI 辅助开发的本地优先 SDLC 工作台,以规格、治理门禁和知识图谱约束交付流程。
- Star 数
- ★ 95
- 最近更新
- 2 天前
- License
- NOASSERTION
- 主语言
- Python
- FA 评分
- 80/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude CodeClaude.ai(部分支持)
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 Codex、Claude Code、Cursor 或类似 MCP 客户端的开发团队,希望在代理写代码前先固化需求、验收标准和测试场景。
- 不适合
- 需要将该软件作为托管服务提供给第三方的团队
- 不愿采用强制规格、验证和治理流程的团队
- 无法运行 Python 3.11 或更高版本的环境
- 源码审查
- 80/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
Okto Pulse 是一个本地优先的软件开发生命周期工作台,把故事、构思、细化、规格、冲刺、任务、测试和缺陷组织成可追踪的工作流。它由负责领域模型、治理门禁和知识图谱契约的 `okto-pulse-core`,以及负责 SQLite、Okto Grafx、文件系统、调度器、REST 应用、React 前端和 FastMCP 主机的社区包组成。用户通过浏览器界面检查和引导工作,AI 编码代理则通过本地 MCP 服务创建或更新同一组结构化产物。`okto-pulse serve` 在一个 Python 进程中运行 Web UI/API 与 MCP 监听器,以保持嵌入式图数据库的单写入者模型。其输出包括带血缘关系的规格与执行卡片、验证证据、任务结论、代码调查收据以及可搜索的板级知识图谱。它适合希望自托管项目记忆和治理流程的团队,但并不是替代编码代理的模型或代码执行环境。
典型流程从 okto-pulse init 开始:命令在 ~/.okto-pulse/ 建立本地状态,创建默认看板和代理,并在项目中生成指向 MCP 服务的 .mcp.json。启动 okto-pulse serve 后,人在 http://localhost:8100 使用 Web UI/API,编码代理在 http://localhost:8101/mcp 调用 Core 工具目录。系统把 Stories、Ideation、Refinement、Spec、Sprint、Tasks、Tests 和 Bugs 存为带状态、血缘和验证规则的结构化产物;状态转换会检查规格覆盖、资源准备、测试证据、缺陷追踪、任务结论和独立验证等条件。板级知识图谱会整理规格、缺陷、决策和实现结论,支持相关决策检索、矛盾或过时上下文识别、历史缺陷经验复用以及跨看板的 Global Discovery。CLI 还可执行 okto-pulse code-traceability 调查记录查询、verify-pipeline、KG 健康诊断、模式迁移、回填、JSON-LD 导出和本地指标管理。社区运行时不会自行获取、克隆、浏览或检查源代码;外部代理在自己的环境中完成访问检查和调查,只向 Pulse 提交有界结果。
- 使用 Codex、Claude Code、Cursor 或类似 MCP 客户端的开发团队,希望在代理写代码前先固化需求、验收标准和测试场景。
- 维护长期产品的团队,需要从历史规格、决策、缺陷和实现结论中建立可搜索的本地项目记忆。
- 技术负责人需要用覆盖率、验证证据、任务结论和架构发现门禁约束 AI 辅助交付。
- 隐私敏感或强调数据控制的团队,希望将 SQLite、图数据库、上传文件和指标保存在自有机器或容器卷中。
- 大型功能负责人需要先批准规格,再拆分 Sprint 和可审查的实现批次,并保留端到端血缘。
- 运维人员需要通过健康接口、事件死信队列指标和 KG 恢复命令诊断本地知识图谱。
如何安装或部署这个 Agent?
需要 Python 3.11 或更高版本。通过 PyPI 安装:
pip install okto-pulse在编码代理将要工作的项目目录初始化:
okto-pulse init首次运行会尝试把 all-MiniLM-L6-v2 下载到 Hugging Face 缓存,以提供知识图谱语义搜索。下载失败时应用仍会以确定性 stub 模式启动,但语义搜索不可用。无需外部 LLM API 密钥;代理访问本地 MCP 时使用 Pulse 创建或轮换后一次性显示的代理密钥。
如何使用这个 Agent?
启动 Web UI/API 和 MCP 服务:
okto-pulse serve然后打开 http://localhost:8100,选择默认看板,并创建 Story 或 Ideation。默认 MCP 地址为 http://localhost:8101/mcp;多数代理在项目目录运行时可自动发现生成的 .mcp.json。其结构如下:
{
"mcpServers": {
"okto-pulse": {
"url": "http://localhost:8101/mcp?api_key=dash_..."
}
}
}对于 Codex,在 Pulse 的 Menu → Agents 中创建代理或重新生成密钥,点击 Codex (CLI),再运行复制出的命令:
codex mcp add okto-pulse --url "<Pulse MCP URL with agent key>"轮换密钥后需重新复制命令并重启 Codex 会话;旧密钥会失效,看板访问权限仍需在 Pulse 中授予。若修改 MCP 端口,可重新生成代理配置:
okto-pulse init --agents也可使用发布的容器镜像:
docker run -d --name okto-pulse \
-e HOST=0.0.0.0 \
-e MCP_HOST=0.0.0.0 \
-p 8100:8100 \
-p 8101:8101 \
-v okto-pulse-data:/data \
ghcr.io/oktolabsai/okto-pulse:latest获取容器中的引导 API 密钥:
docker exec okto-pulse okto-pulse api-key这个 Agent 有哪些优点和局限?
- 人和编码代理操作同一套规格、任务、测试与缺陷产物,并通过 MCP 和 Web UI 分别获得机器接口与人工监督界面。
- 治理门禁覆盖规格场景、业务规则、API 合同、任务、测试证据、缺陷追踪、任务结论和架构发现,而不只是提供普通看板。
- SQLite、Okto Grafx、上传文件和指标默认保存在本地,并提供 Docker 持久卷部署路径。
- 知识图谱不仅保存内容,还维护血缘、历史决策、冲突或取代关系、缺陷经验和跨看板发现上下文。
- MCP 响应支持
summary、detail和full投影,可按任务在信息量和上下文令牌消耗之间取舍。
- 强制状态转换和覆盖检查会增加规格、证据、结论及维护工作的流程成本,不适合追求无结构快速编码的团队。
- 语义搜索依赖首次下载
all-MiniLM-L6-v2;下载失败虽可启动,但只能使用禁用语义搜索的确定性 stub 模式。 - 社区运行时不会自行读取或调查源码,因此代码访问、能力检查和调查执行必须由外部编码代理承担。
- 嵌入式持久化采用单写入者约束,MCP 写入调用还有固定的单写入通道及默认并发、排队限制。
- README 标示 Elastic License 2.0,禁止把该软件作为托管或管理服务提供给第三方;仓库元数据的许可证字段同时为
NOASSERTION。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Okto Pulse 当前 | 80 · 表现良好 | 命令行工具免费 | ★ 95 | 2 天前 | Python | Codex · Claude Code |
| MCP Memory Service | 68 · 存在缺口 | MCP 服务器免费 | ★ 2k | 1 天前 | Python | ChatGPT · Codex · Claude Code · Claude.ai |
| MemoMind 记忆层 | 40 · 缺口较多 | MCP 服务器免费 + 模型费 | ★ 605 | 1 个月前 | Python | Claude Code · OpenAI API · Claude API |
| 从原型到生产的生成式AI代理实战指南 | 0 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 21k | 5 天前 | Jupyter Notebook | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
项目默认绑定本机地址,明确区分只读诊断、单写者约束、权限门控和人工操作,并对清除指标、DLQ 批量重放、KG 回填等高影响操作要求 --yes、界面确认或默认 dry-run,因此用户确认处理充分。README 也披露本地存储位置、首次模型下载、可选遥测、MCP 跟踪文件和服务端口。扣分点是默认 CORS_ORIGINS=*,API 密钥置于 URL 查询参数且复制命令可能进入 shell 历史或 Codex 配置,MCP 跟踪内容的敏感性及保留策略未说明。依赖有版本上下界、关键精确固定和固定 Grafx 提交,但未提供锁文件、SBOM、依赖漏洞扫描或供应链签名证据。恢复、备份和隔离区还原有所说明,但 reset 会删除数据,kg unmerge 明确不会重新指向边,完整通用回滚路径不足。Okto Labs 的署名、联系地址和许可证归属清楚,但发布者身份未获外部验证。
依赖安装、隔离 wheel 检查、社区测试套件、Docker 构建以及模型下载失败后的确定性 stub 模式均有静态证据;饱和调用还定义了可重试结果和 retry_after。错误与诊断行为记录得较细,包括状态命令退出码、健康等级、锁/WAL 排障和上下文错误信息。主要扣分来自明显的源内不一致:Platform Surface 写 18 个治理门,而 Governance Gates 紧接着写 17 个;SECURITY.md 仅将 0.1.x 标为受支持,而项目当前版本是 0.3.3。这削弱了版本支持与功能计数的可信度。
开发者、团队、容器用户和多种编码代理的使用场景划分清楚,Stories 到 Bugs 的工作流以及 Core、Community、REST、MCP、SaaS 和外部代理之间的能力边界描述充分。Python、源码安装、Docker、端口、存储目录、并发和 Grafx 策略提供了较完整的环境适配说明。扣分集中在触发精度:治理状态转换讲得清楚,但 340 个 MCP 工具的逐项触发条件、参数约束和误调用防护未包含在给定材料中,超大工具目录的选择精度无法静态确认。
README 的目录、参考文档索引、工作流表格、CLI 参考、环境变量、存储结构、源码与 Docker 安装以及故障排查形成了成熟的信息架构。示例覆盖常见代理和部署方式,限制条件也明确说明,包括单写者、模型降级、共享文件系统风险和不支持直接 SQL 修复。许可证正文、附录和包元数据均明确标注 Elastic-2.0,版本 0.3.3 及多版本发布说明路径也清楚。扣分点是部分命名和版本事实发生漂移,包括 17/18 门数量冲突、SECURITY.md 的旧支持矩阵,以及 README 所引用但未提供内容的若干文档;维护联系渠道明确,但当前版本的实际安全维护范围不清晰,且发布者身份未知。
产品输出面向实际使用:结构化 SDLC 工件、可检查的谱系、治理门、KG 健康、JSON-LD 导出、CLI JSON 状态以及可供代理调用的 MCP 接口均有明确用途。相较普通任务板,其将规范、测试、缺陷、决策和长期知识统一起来,静态材料显示出较强的增量价值。成本方面披露了 Python 版本、首次模型下载、固定工具目录上下文成本、响应投影、并发限制和 strict 模式开销,但给定材料未包含 TOKEN-USAGE.md 的实测数据,也没有资源基准、迁移成本或大规模运维数据,因此未给满分。
大量主张指向具体命令、配置项、测试名称、CI 检查、适配器边界和专门文档,且 README、pyproject、CI 与前端测试在版本、包结构和部分交互行为上相互支持。材料也能区分只读诊断与修复、liveness 与 integrity、已执行能力与计划中的 SaaS 注入,以及默认策略与例外条件,事实和推断分离较好。扣分是多数引用文档及核心仓库内容未随材料提供,340 个工具、156 个适配器、发布验证和令牌测量等重要数字无法在所给文件中完整交叉核验,并存在治理门计数和安全支持版本的矛盾。
- API 密钥出现在 MCP URL 和复制的 CLI 命令中,可能被浏览器、代理日志、shell 历史或配置文件记录;应按凭据处理并及时轮换。
- 默认 CORS_ORIGINS=* 不是认证或防火墙;对非本机部署必须显式限制来源并配置独立的网络访问控制。
- MCP 跟踪会写入本地文件,但材料未说明内容脱敏、权限、保留期或清理流程,启用前应审查潜在代码与业务数据泄露。
- SECURITY.md 的支持矩阵停留在 0.1.x,与当前 0.3.3 不一致;部署者应先确认 0.3.x 的真实补丁承诺。
- Elastic-2.0 附加条款限制多租户、竞争性服务、大规模内部平台暴露及品牌修改,不应按宽松开源许可证理解。
- reset 会删除 SQLite、上传和图目录;执行前需要经过验证的备份与恢复演练。
常见问题
使用 Okto Pulse 是否必须购买模型或 API?
断网后还能启动吗?
all-MiniLM-L6-v2,应用仍以确定性 stub 模式启动,但知识图谱语义搜索会被禁用。安装包和模型的初始获取仍需要网络来源。