使用说明
塔耳塔罗斯
一个双界面平台(MCP服务器+web应用程序),用于结构化、人工智能驱动的日志记录、项目文档和个人知识管理。
这是什么
- MCP服务器 (
src/)-22个工具、26个资源和3个AI代理提示(Claude Code、Cursor等),用于创建日记条目、管理项目摘要、查询文档以及与Linear交互 - Tartarus网络应用程序 (
web/)-带有人工智能聊天(Kronus)、期刊阅读器、文本校正、翻译和统一知识库的深色主题仪表板
主要特点
- 对象注册表 -每个数据对象的通用UUID索引。两种通用工具(
search+fetch)让Kronus统一访问14种类型的所有1400多个对象 - 代理克朗 -带工具调用的知识预言机(AI SDK 6.0
stepCountIs).用途search/fetch深入数据而不是静态提示 - 结构化日记账分录 链接到带有AI生成摘要的git提交
- 条目0 v2(生活项目摘要) -模式驱动的项目文档,具有部分历史跟踪和浅/深视图
- Kronus聊天 -多模型人工智能对话(Gemini 3.1 Pro、Claude Opus 4.6/4.7、GPT-5.4),配备85多种集成工具
- Kronus技能 -按需加载上下文(开发人员、作家、求职者、全能者)——启动精益,在需要时加载上下文
- 代蒙 -发送写作助手之前进行内联润色(Cmd+Enter)。单词级别差异、更正历史、翻译支持
- 阿特洛波斯 -AI拼写检查器和文本校正,带内联差异视图
- 赫尔墨斯 -AI翻译工具
- 图书馆 -用于写作、提示、笔记、简历(技能、经验、教育)、投资组合项目和人工智能集成记忆的统一知识库
- 线性积分 -同步线性项目和手动+自动小时同步问题
- Slite集成 -同步知识后调
- 概念整合 -已同步的工作区页面
- 谷歌工作区 -驱动器、Gmail、日历集成(读+写)
- 媒体库 -链接到条目或独立的图像、图表、PDF
- Git 集成 -只读GitHub/GitLab仓库浏览(文件树、文件内容)
- 可观测性 -人工智能使用跟踪(跟踪、令牌、成本、延迟)
- 快照历史记录 -仅附加所有注册表对象的版本跟踪
建筑
┌─────────────────┐ ┌──────────────────────┐
│ AI Agents │ │ Humans │
│ (Claude, etc.) │ │ │
└────────┬────────┘ └──────────┬───────────┘
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────────┐
│ MCP Server │ │ Tartarus Web App │
│ │ │ │
│ • 22 tools │ │ • Kronus Chat (AI) │
│ • 26 resources │ │ • Journal Reader │
│ • 3 prompts │ │ • Daimon / Atropos │
│ • Kronus oracle │ │ • Library Browser │
│ (agentic, │ │ • Linear/Slite/Notion │
│ search+fetch)│ │ • Google Workspace │
└────────┬────────┘ └──────────┬───────────┘
│ │
└───────────┬─────────────┘
▼
┌──────────────────────────┐
│ SQLite DB │
│ (journal.db) │
│ │
│ tartarus_objects (UUID) │
│ tartarus_object_history │
│ journal_entries │
│ chat_conversations │
│ documents / prompts │
│ linear / slite / notion │
│ skills / experience │
└──────────────────────────┘
数据流: 外部API→ Tartarus同步→ SQLite→ 对象注册表(UUID)→ MCP资源。每个数据对象在接收时都会得到一个UUID,并且Kronus可以搜索/获取。
对象注册表
Tartarus中的每个数据对象都通过 tartarus_objects table——一个通用索引,位于现有表旁边,无需对其进行修改。
tartarus_objects
uuid TEXT PRIMARY KEY
type TEXT (journal_entry, document, conversation, linear_issue, ...)
source_table TEXT (the actual SQLite table)
source_id TEXT (the original ID — commit hash, slug, integer, external ID)
title TEXT
summary TEXT
tags TEXT (JSON array)
importance INTEGER (1-5)
两种通用工具 替换7+特定查找工具:
search(query, type?)--在标题、摘要和标签之间进行全文搜索fetch(uuid)--解析类型→ 从源表读取→ 返回完整内容
快照历史记录 (tartarus_object_history)使用仅追加版本控制跟踪更改——每次更新都会保存之前的状态 changed_by 和 change_summary.
食饵钩 在所有途径上:文档、对话、线性/狭缝/通知同步、简历数据、媒体、提示、日记条目。现有数据的回填脚本: npx tsx web/scripts/backfill-object-registry.ts.
批量汇总: POST /api/conversations/summarize-batch --动态令牌预算(24K上限),flash lite模型,将标签+重要性写回注册表。
快速开始
选项1:Docker(推荐)
cp .env.example .env
# Edit .env with your API keys
docker compose up -d
# Access at http://localhost:3777
方案2:地方发展
# MCP server
npm install && npm run build
# Web app
cd web && npm install
export JOURNAL_DB_PATH="/path/to/data/journal.db"
export GOOGLE_GENERATIVE_AI_API_KEY="your-key"
npm run dev
# Access at http://localhost:3005
MCP服务器
MCP服务器是 只读 对于缓存数据,使用通过Tartarus API的写入工具。
工具(22)
期刊(10):
| 工具 | 说明 |
|---|---|
journal_create_entry |
为git提交创建日记条目 |
journal_list_by_repository |
列出带分页的条目 |
journal_list_by_branch |
按分支列出条目 |
journal_create_project_summary |
创建条目0--代理直接填充第1/2/3层架构 |
journal_update_project_technical |
使用历史跟踪更新技术部分 |
journal_submit_summary_report |
更新叙述部分(人工智能辅助或直接) |
journal_list_project_summaries |
列出所有存储库概述(条目0)行 |
journal_list_media_library |
查询统一媒体资产 |
registry_search_objects |
搜索统一的Tartarus对象注册表 |
registry_fetch_object |
通过UUID或源引用获取注册表对象 |
图书馆(9):
| 工具 | 说明 |
|---|---|
repository_search_documents |
使用过滤器和分页搜索文档 |
repository_create_document |
创建注释或提示 |
repository_update_document |
更新现有文档 |
repository_create_from_report |
从自由形式的代理报告创建文档(AI提取结构) |
repository_list_skills |
按类别列出简历技能 |
repository_list_experience |
列出工作经验 |
repository_list_education |
列出教育历史 |
repository_list_portfolio_projects |
列出投资组合项目 |
repository_upload_media |
上传媒体资源 |
克罗诺斯(3):
| 工具 | 说明 |
|---|---|
kronus_ask |
询问知识预言家(快速或深度模式) |
kronus_history |
获取Kronus最近的对话 |
kronus_stats |
AI可观察性统计数据(跟踪、令牌、成本) |
资源
期刊(7):
| URI | 描述 |
|---|---|
journal://repositories |
列出所有存储库 |
journal://project-summary/{repository} |
条目0浅视图(平坦,令牌高效) |
journal://project-summary/{repository}/deep |
条目0深度视图(完整章节历史) |
journal://entry/{commit_hash} |
获取日记条目 |
journal://branches/{repository} |
列出分支 |
journal://attachments/{commit_hash} |
列出条目附件 |
journal://attachment/{id} |
获取附件元数据 |
注册表(2):
| URI | 描述 |
|---|---|
registry://object/{uuid} |
通过UUID获取任何注册表对象 |
registry://source/{source_table}/{source_id} |
通过源引用获取任何注册表对象 |
图书馆(7):
| URI | 描述 |
|---|---|
repository://document/{slug_or_id} |
获取文档内容 |
repository://tags |
列出所有文档标签 |
repository://documents/{type} |
按类型列出文档(书写/提示/注释) |
repository://portfolio-project/{id} |
获取投资组合项目 |
repository://cv/skills |
技术技能 |
repository://cv/experience |
工作经历 |
repository://cv/education |
教育历程 |
线性缓存(7):
| URI | 描述 |
|---|---|
linear://cache/stats |
缓存统计信息 |
linear://projects |
列出缓存的项目 |
linear://project/{id} |
获取项目详细信息 |
linear://issues |
列出缓存问题 |
linear://issue/{identifier} |
获取问题详细信息 |
linear://project/{projectId}/updates |
项目状态更新 |
linear://project-updates |
所有项目更新 |
可观察性(3):
| URI | 描述 |
|---|---|
observability://chats |
Kronus聊天记录 |
observability://traces |
AI痕迹 |
observability://stats |
AI使用统计 |
提示(3)
| 提示 | 描述 |
|---|---|
create-entry |
创建日记账分录指南 |
update-summary |
项目摘要更新指南(条目0 v2) |
explore-repo |
探索存储库指南 |
Tartarus网络应用程序
页面
| 第页 | 描述 |
|---|---|
| 聊天 | 与Kronus的人工智能对话——7个模型选项、85多种工具、技能驱动的上下文、Daimon波兰语(Cmd+Enter) |
| 读者 | 使用过滤、搜索、附件查看器、美人鱼图浏览日记条目 |
| 阿特洛波斯 | AI文本校正,带内联差异视图和更改导航 |
| 赫尔墨斯 | AI翻译工具 |
| 图书馆 | 统一的知识库——文档、简历、作品集、媒体、人工智能集成(标签布局) |
| 提示 | 通过版本控制和项目组织进行快速管理 |
| 集成 | 线性、狭缝、通知与预览/批准工作流同步 |
| 多媒体 | 带有Mermaid图编辑器的媒体库 |
Kronus技能(按需环境)
Kronus开始 倾斜 (约6k个令牌)——只是灵魂提示和写入协议。上下文和工具通过技能按需加载,这些技能作为文档存储在数据库中(type="prompt", metadata.type="kronus-skill").
技能叠加——激活多个技能通过OR逻辑合并它们的上下文。不可能有冲突。
| 技能 | 灵魂语境 | 工具 | 用例 |
|---|---|---|---|
| 开发者 | 日志 | Git、Web搜索 | 编码会话 |
| 作者 | 写作 | 期刊、Repo、媒体、图像生成、网络搜索 | 创意作品 |
| 求职者 | 简历、作品集、期刊 | 期刊、报告、媒体、网络搜索 | 工作申请 |
| 全能 | 所有核心上下文 | 所有核心工具 | 完全访问权限(手动切换集成) |
新技能可以添加到数据库中——Kronus在运行时动态地发现它们。
聊天模特
| 模型 | 上下文 | 提供者 | 注释 |
|---|---|---|---|
| Gemini 3.1 Pro | 1M代币 | 谷歌 | 默认 |
| Gemini 3.1 Flash Lite | 1M代币 | 谷歌 | 超快速,最便宜 |
| 克劳德·十四行诗4.6 | 100万代币 | Anthropic | 物超所值 |
| Claude Opus 4.6 | 100万代币 | Anthropic | 稳定旗舰 |
| 克劳德作品4.7 | 100万代币 | 人类学 | 最新作品 |
| GPT-5.4 | 40万个代币 | OpenAI | 极端推理 |
| GPT-5.3即时 | 40万代币 | OpenAI | 快速聊天 |
Kronus MCP(askKronus) 使用flash lite 3.1(快速)、flash(深度)、Opus 4.6(严重)——针对速度和成本进行了优化。
Daimon(写作助理)
在发送聊天输入插件之前进行内联抛光。将Atropos(语法)+Hermes(翻译)合并为一个流程:
- Cmd+Enter 启用时触发Daimon(在标题栏中切换)
- 显示单词级差异面板,并突出显示更正
- 三项行动: 接受 (就地编辑), 按原样发送, 发送抛光
- 带有日期和状态的更正历史查看器
- 清洁文本→ 文本无错误时不会中断
关键概念
条目0 v2(生活项目摘要)
每个项目都有一个模式驱动的、不断发展的知识库。编码代理是扫描器——它直接填充模式,不需要人工智能规范化。
架构: 每个部分都承载 current 状态+进化 history[] 带有时间戳和提交参考。
第1级(必填): file_structure, tech_stack, patterns, commands, architecture
第2级(可选): frontend, backend, database_info, services, data_flow
第3级(可选): custom_tooling, purpose, summary
叙述部分 (通过Kronus更新): summary, purpose, key_decisions, technologies, status, extended_notes
两种观点:
- 浅 (
journal://project-summary/{repo})--电流值平坦,对LLM上下文令牌高效 - 深 (
journal://project-summary/{repo}/deep)--每个部分的完整历史时间线
日记账条目结构
Workspace/project slug (stored in the journal `repository` field, e.g., "my-project")
└── Branch (e.g., "main")
└── Entry (commit_hash: "abc1234")
├── why, what_changed, decisions
├── technologies, kronus_wisdom
└── files_changed: [{ path, action, diff_summary }]
文档类型
文档有两级分类:
- 主要类型:
writing,prompt,note - 标签:中的其他标签
metadata.tags
配置
环境变量
# AI Providers (at least one required for Kronus chat)
GOOGLE_GENERATIVE_AI_API_KEY=your-key # Gemini 3 Pro/Flash
ANTHROPIC_API_KEY=your-key # Claude Opus/Haiku
OPENAI_API_KEY=your-key # GPT-5.2
# Database
JOURNAL_DB_PATH=/path/to/journal.db # Optional, defaults to ./data/journal.db
# Web App URL (for MCP → Tartarus API calls)
TARTARUS_URL=http://localhost:3005
# Optional integrations
LINEAR_API_KEY=lin_api_... # Linear project management
MCP_API_KEY=your-mcp-key # Authenticated MCP requests
GITHUB_TOKEN=ghp_... # GitHub repo browsing
GITLAB_TOKEN=glpat-... # GitLab repo browsing
GITLAB_HOST=https://gitlab.com # GitLab instance URL
# Optional integrations (continued)
SLITE_API_KEY=your-slite-key # Slite knowledge base
NOTION_API_KEY=your-notion-key # Notion workspace pages
GOOGLE_CLIENT_ID=... # Google Workspace (Drive, Gmail, Calendar)
GOOGLE_CLIENT_SECRET=...
GOOGLE_REFRESH_TOKEN=...
# Optional AI features
REPLICATE_API_TOKEN=r8_... # Image generation (FLUX, Imagen)
PERPLEXITY_API_KEY=pplx-... # Web search
# Agent Configuration
AGENT_NAME=Kronus # Name of your AI agent (default: "Kronus")
AGENT_SOUL_PATH=Soul.xml # Path to agent personality file
MCP客户端安装
从开发人员日志迁移: 将MCP客户端配置更新到密钥 tartarus,点 args 在这个回购 dist/index.js (之后 npm run build),并使用 tartarus 如果全局链接,则使用npm二进制。确保根 package.json name 是 tartarus-workspace --MCP服务器从该字段解析monorepo根;旧名称 developer-journal-workspace 在代码中不再被识别。
克劳德桌面/光标/VS代码/克劳德代码:
{
"mcpServers": {
"tartarus": {
"command": "node",
"args": ["/absolute/path/to/your-clone/dist/index.js"]
}
}
}
特定于平台的配置位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - 光标:
~/.cursor/mcp.json - 克劳德代码:
~/.claude/settings.json
代理配置
系统支持自定义AI代理名称和个性文件。
AGENT_NAME:您的AI代理的名称(默认:“Kronus”)AGENT_SOUL_PATH:代理提示文件的路径(默认:“Soul.xml”)
Soul文件定义了代理的个性、沟通风格、知识框架和交互协议。名称显示在整个UI中(聊天、上下文选择器、API响应)。
线性同步
线性数据同步到本地SQLite缓存。两种同步方法:
- 手册:技能弹出窗口中的“同步线性”按钮(高级配置部分)
- 自动(仅限macOS):洗衣店
config/com.tartarus.linear-sync.plist每小时运行一次curl反对localhost:3005同步端点仅可从本地主机访问,无需身份验证。
要安装自动同步,请执行以下操作:
ln -sf "$(pwd)/config/com.tartarus.linear-sync.plist" ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.tartarus.linear-sync.plist
停止: launchctl unload ~/Library/LaunchAgents/com.tartarus.linear-sync.plist
日志: /tmp/tartarus-linear-sync.log
备注:自动同步要求Tartarus在端口3005上运行。如果服务器宕机,curl会悄无声息地失败——不会造成任何伤害。如果你分叉这个仓库,launchd-plist不会自动安装;请改用手动同步按钮。
测试
npm test # All tests (43 total)
npm run test:registry # Object registry unit tests (23)
npm run test:mcp # MCP integration tests (20)
注册表测试 (tests/object-registry.test.ts):注册、查找、搜索、快照/历史、约束、级联删除——针对内存中的SQLite运行。
MCP集成测试 (tests/mcp-integration.test.ts):构建验证、数据库健康状况、所有表是否存在、UUID完整性(格式+唯一性)、注册表填充、环境验证。
发展
# MCP server
npm run build # Build (esbuild → dist/index.js)
npm run dev # Watch mode
npm test # Run test suite
# Web app
cd web
npm run dev # Dev server on :3005
npm run build # Production build
# Both (via Makefile)
make dev # Start Tartarus dev server
make build # Build MCP server
# Docker
docker compose up -d --build
docker compose logs -f tartarus
# Object registry backfill (run once after fresh setup)
JOURNAL_DB_PATH=./data/journal.db npx tsx web/scripts/backfill-object-registry.ts
技术栈
| 组件 | 技术 |
|---|---|
| MCP服务器 | TypeScript、MCP SDK、better squelite3、esbuild |
| Web应用程序 | Next.js 16、React、顺风CSS、shadcn/ui |
| AI | Vercel AI SDK 6.0、谷歌Gemini、拟人克劳德、OpenAI GPT |
| 数据库 | SQLite(在MCP和web之间共享),UUID对象注册表 |
| ORM | Drizzle(web),原始SQL(MCP) |
| 集成 | 线性、狭缝、概念、谷歌工作区、GitHub、GitLab、复制、困惑 |
| 测试 | Node.js断言+tsx(43次测试) |
许可证
此项目根据MIT许可证获得许可——请参阅 LICENSE.
归因
- 由创建和维护 吉列尔莫·斯图普夫
- 组织机构: Ouroboros创意集体
- 角色: 创始人/独立建设者
- 作为开源项目内置于公共环境中,与人工智能工具共同构建
第三方许可证
此存储库中包含的第三方组件保留其原始许可证。
- 人类
skill-creator:/.claude/skills/skill-creator/LICENSE.txt
