@seqyuan/annovibe
v0.8.41
Published
AI-native bioinformatics workspace by Annoroad
Downloads
3,678
Readme
AnnoVibe
AI-native bioinformatics workspace by Annoroad,基于 pi coding agent。在浏览器中浏览会话、与智能体对话、分叉对话、切换消息分支。
快速开始
npm install -g @seqyuan/annovibe
annovibe启动后打开 http://localhost:30141。首次启动会提示设置密码(可选,类似 Jupyter)。
CLI 命令
annovibe # 启动服务(后台运行)
annovibe start # 启动后台服务(已运行则直接返回)
annovibe restart # 停止后重新启动后台服务
annovibe stop # 停止后台服务
annovibe status # 查看后台服务状态
annovibe logs # 查看最近日志
annovibe logs -f # 持续跟随日志
annovibe --port 8080 # 自定义端口
annovibe --hostname 127.0.0.1 # 仅本机访问
annovibe --version # 查看版本
annovibe --help # 查看帮助
annovibe update # 更新到最新版
annovibe passwd # 修改密码
annovibe passwd --reset # 删除密码(禁用认证)
PORT=8080 annovibe # 也支持环境变量
ANNOVIBE_PASSWORD=xxx annovibe # 环境变量设置密码后台服务默认会在检测到已安装版本变化后,等待当前 agent 运行空闲,然后自动优雅重启到新版本。可设置 ANNOVIBE_AUTO_RESTART=0 关闭。
功能介绍
- 密码保护 — 可选密码认证(bcrypt 哈希),类似 Jupyter。
annovibe passwd管理。 - 会话浏览器 — 按工作目录分组展示所有 pi 会话
- 实时对话 — 通过 SSE 流式输出与智能体实时交互
- 会话分叉 — 从任意用户消息创建独立的新会话分支
- 会话内分支 — 回退到任意节点继续对话,在同一文件内创建分支
- 分支导航器 — 可视化切换同一会话内的各个分支
- 模型切换 — 对话中途随时切换模型
- 工具面板 — 控制智能体可使用的工具
- 子代理面板 — 追踪子 agent 运行状态(运行中/已完成/失败)
- 流式绘图 —
show-widgetfence 支持,LLM 输出图表/SVG/HTML 实时渲染 - 压缩会话 — 对长会话进行摘要,节省上下文窗口
- 引导 / 追加 — 打断正在运行的智能体,或在其完成后追加消息
- 文件编辑 — 侧边栏文本文件支持 CodeMirror 6 编辑,Ctrl+S 保存
- 文档预览 — PDF/DOCX/XLSX/PPTX 内嵌预览
- 可拖拽面板 — 侧边栏和右侧面板自由拖拽调整宽度
- 上下文文件 — soul.md(全局 persona / 语气 / 工作风格)、harness.md(行为约束)、memory.md(项目记忆)
注意事项
- 数据目录 — 默认读取
~/.pi/agent/sessions下的会话文件。可通过环境变量PI_CODING_AGENT_DIR指定其他目录。 - 模型配置 — 从智能体数据目录下的
models.json读取可用模型,可在侧边栏的「Models」面板中编辑。 - 文件浏览 — 侧边栏内置文件浏览器,可在标签页中查看和编辑当前工作目录下的文件。
- 密码存储 —
~/.pi/agent/web-auth.json,忘记密码可删除此文件重新设置。 - 全局上下文 —
~/.pi/agent/soul.md(全局 persona / 语气 / 工作风格)、~/.pi/agent/harness.md(行为约束)首次启动自动 seed。
开发
npm install
npm run dev # 端口 30141- 日常开发不要运行
npm run build或next build;这只用于发布前验证。 npm run dev使用开发态.next,此时npm run pack:check失败是预期行为,因为它要求生产构建产物。
发布校验
发布前执行:
npm run build
npm run pack:check
npm pack --dry-run --json --ignore-scripts- npm 包只发布最小运行集:生产
.next、bin/、默认 markdown、public/、next.config.ts、package.json。 - 不发布
app/、components/、hooks/、docs/、scripts/、node_modules、dev.next、source map、trace 文件。 - 前端构建期依赖保持在
devDependencies,运行时dependencies只保留安装后真正需要的包。
更完整说明见 docs/release-package-guardrails.md。
项目结构
app/
api/
sessions/ # 读写会话文件
agent/ # 发送命令、SSE 事件流
files/ # 文件内容读取
models/ # 可用模型列表与默认模型
models-config/ # 读写 models.json
auth/ # 密码认证
components/
viewers/ # PDF/DOCX/XLSX/PPTX 查看器
lib/
session-reader.ts # 解析 .jsonl 会话文件
rpc-manager.ts # 管理 AgentSession 生命周期
auth.ts # 密码管理
widget-utils.ts # 流式绘图解析会话文件存储路径:~/.pi/agent/sessions/<编码后的工作目录>/<时间戳>_<uuid>.jsonl
