innate-ai 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- innate_ai-0.1.0/PKG-INFO +139 -0
- innate_ai-0.1.0/README.md +127 -0
- innate_ai-0.1.0/innate/__init__.py +31 -0
- innate_ai-0.1.0/innate/__main__.py +6 -0
- innate_ai-0.1.0/innate/cli/__init__.py +0 -0
- innate_ai-0.1.0/innate/cli/main.py +414 -0
- innate_ai-0.1.0/innate/core/__init__.py +31 -0
- innate_ai-0.1.0/innate/core/embedding.py +66 -0
- innate_ai-0.1.0/innate/core/exceptions.py +26 -0
- innate_ai-0.1.0/innate/core/kb.py +1830 -0
- innate_ai-0.1.0/innate/core/refine.py +81 -0
- innate_ai-0.1.0/innate/core/storage.py +507 -0
- innate_ai-0.1.0/innate/core/utils.py +70 -0
- innate_ai-0.1.0/innate/daemon/__init__.py +0 -0
- innate_ai-0.1.0/innate/daemon/server.py +262 -0
- innate_ai-0.1.0/innate/migrations/4.0_to_4.1.sql +8 -0
- innate_ai-0.1.0/innate/migrations/4.1_to_4.2.sql +10 -0
- innate_ai-0.1.0/innate/migrations/4.2_to_4.3.sql +42 -0
- innate_ai-0.1.0/innate/migrations/4.3_to_4.4.sql +15 -0
- innate_ai-0.1.0/innate/migrations/4.4_to_4.5.sql +18 -0
- innate_ai-0.1.0/innate/migrations/4.5_to_4.5.1.sql +56 -0
- innate_ai-0.1.0/innate/migrations/__init__.py +0 -0
- innate_ai-0.1.0/innate/migrations/schema.sql +199 -0
- innate_ai-0.1.0/innate_ai.egg-info/PKG-INFO +139 -0
- innate_ai-0.1.0/innate_ai.egg-info/SOURCES.txt +38 -0
- innate_ai-0.1.0/innate_ai.egg-info/dependency_links.txt +1 -0
- innate_ai-0.1.0/innate_ai.egg-info/entry_points.txt +2 -0
- innate_ai-0.1.0/innate_ai.egg-info/requires.txt +6 -0
- innate_ai-0.1.0/innate_ai.egg-info/top_level.txt +1 -0
- innate_ai-0.1.0/pyproject.toml +30 -0
- innate_ai-0.1.0/setup.cfg +4 -0
- innate_ai-0.1.0/tests/test_augmented.py +40 -0
- innate_ai-0.1.0/tests/test_boundaries.py +198 -0
- innate_ai-0.1.0/tests/test_cli.py +80 -0
- innate_ai-0.1.0/tests/test_core.py +128 -0
- innate_ai-0.1.0/tests/test_cross_lib.py +40 -0
- innate_ai-0.1.0/tests/test_design_alignment.py +421 -0
- innate_ai-0.1.0/tests/test_v451_compliance.py +598 -0
- innate_ai-0.1.0/tests/test_v451_gaps.py +474 -0
- innate_ai-0.1.0/tests/test_v4_paths.py +158 -0
innate_ai-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: innate-ai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: 自成长 Agent 程序性知识层
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: sqlite-vec>=0.1.0
|
|
8
|
+
Requires-Dist: click>=8.0
|
|
9
|
+
Provides-Extra: dev
|
|
10
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
11
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
12
|
+
|
|
13
|
+
# Innate — 自成长 Agent 程序性知识层
|
|
14
|
+
|
|
15
|
+
> **一句话定位**: 一个**可嵌入可外挂、自成长、引擎可换**的 agent 程序性知识层系统。
|
|
16
|
+
> 它不做编排(对 LangGraph / Claude Code / 裸 API 中立), 只解一件事——**在有限 context 预算内, 组装最相关、最精确的知识, 并让这套知识随使用自我进化。**
|
|
17
|
+
|
|
18
|
+
## 接入 Agent(一行安装)
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx skills add vima-tech/Innate
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
安装后 Claude Code 等支持 [Agent Skills 开放标准](https://agentskills.io/specification)的 Agent 会自动获得 `innate-memory` skill——知道何时召回、何时记录、何时成长,无需手动配置。
|
|
25
|
+
|
|
26
|
+
> 前提:本机已安装 `innate` CLI(见下方快速开始)。
|
|
27
|
+
|
|
28
|
+
### 让 Agent 帮你完成安装(完整提示词)
|
|
29
|
+
|
|
30
|
+
将以下内容直接发送给你的 Agent:
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
> 请帮我安装并初始化 Innate 知识层,步骤如下:
|
|
35
|
+
>
|
|
36
|
+
> ```bash
|
|
37
|
+
> pip install innate # 安装 CLI
|
|
38
|
+
> npx skills add vima-tech/Innate # 安装 Agent Skill
|
|
39
|
+
> innate inspect # 验证,应输出空库健康报告
|
|
40
|
+
> ```
|
|
41
|
+
>
|
|
42
|
+
> **权限说明(人和 Agent 同权)**
|
|
43
|
+
> 你拥有与我完全相同的操作权限,无需等待我确认即可执行:
|
|
44
|
+
>
|
|
45
|
+
> | 操作类别 | 命令 |
|
|
46
|
+
> |---|---|
|
|
47
|
+
> | 召回与记录 | `innate recall` · `innate record` |
|
|
48
|
+
> | 知识写入 | `innate add` · `innate spark` · `innate promote-spark` · `innate drop-spark` |
|
|
49
|
+
> | 治理 | `innate approve` · `innate archive` · `innate invalidate` · `innate restore` |
|
|
50
|
+
> | 成长与体检 | `innate evolve` · `innate inspect` |
|
|
51
|
+
>
|
|
52
|
+
> **工作规范**
|
|
53
|
+
> - 每次任务开始前执行 `innate recall "<任务意图>" --format json`,将结果纳入计划
|
|
54
|
+
> - 任务结束后执行 `innate record <trace_id> --outcome ok|fail`,闭合 trace
|
|
55
|
+
> - 发现值得保留的经验或灵感时,**直接**执行 `innate add` 或 `innate spark`,无需询问
|
|
56
|
+
> - 判断知识已失效时,直接执行 `innate invalidate <chunk_id> --reason "原因"`
|
|
57
|
+
> - 会话结束时执行 `innate evolve --trigger manual` 触发蒸馏
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 快速开始
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# 安装 CLI
|
|
65
|
+
pip install innate
|
|
66
|
+
|
|
67
|
+
# 1. 写入知识
|
|
68
|
+
innate add "Python 列表推导式比 map/filter 更易读" --kind note --trigger "python 列表处理"
|
|
69
|
+
|
|
70
|
+
# 2. 召回知识
|
|
71
|
+
innate recall "python 列表优化" --budget 2000 --format json
|
|
72
|
+
|
|
73
|
+
# 3. 记录使用结果
|
|
74
|
+
innate record <trace_id> --outcome ok --feedback up
|
|
75
|
+
|
|
76
|
+
# 4. 触发成长(蒸馏 + 治理)
|
|
77
|
+
innate evolve --trigger manual
|
|
78
|
+
|
|
79
|
+
# 5. 库体检
|
|
80
|
+
innate inspect
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Python SDK
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
from innate import KnowledgeBase
|
|
87
|
+
|
|
88
|
+
kb = KnowledgeBase("personal.db")
|
|
89
|
+
|
|
90
|
+
# 写入
|
|
91
|
+
cid = kb.add("经验内容", kind="note", trigger_desc="触发场景")
|
|
92
|
+
sid = kb.spark("一个灵感")
|
|
93
|
+
|
|
94
|
+
# 召回
|
|
95
|
+
ctx = kb.recall("任务描述", budget=6000)
|
|
96
|
+
for chunk in ctx.knowledge:
|
|
97
|
+
print(chunk["content"])
|
|
98
|
+
|
|
99
|
+
# 记录使用
|
|
100
|
+
kb.record(ctx.trace_id, outcome="ok", used=[cid], feedback="up")
|
|
101
|
+
|
|
102
|
+
# 成长
|
|
103
|
+
kb.evolve(trigger="manual")
|
|
104
|
+
|
|
105
|
+
# 体检
|
|
106
|
+
print(kb.inspect())
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 系统架构
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Innate System
|
|
113
|
+
├── Core SDK 知识层逻辑(recall/record/evolve/curate/confidence)
|
|
114
|
+
│ ├── Public API 8 个核心方法
|
|
115
|
+
│ └── Storage sqlite-vec 默认; 5 个可替换扩展点
|
|
116
|
+
├── CLI Adapter Core SDK 的命令行薄封装, 1:1 映射
|
|
117
|
+
├── Hook Integration 外部系统事件触发 CLI
|
|
118
|
+
├── Runtime (Daemon) 外部独立进程; 监听日志/事件
|
|
119
|
+
└── skills/ Agent Skills 标准接入层
|
|
120
|
+
└── innate-memory/ npx skills add vima-tech/Innate
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 核心特性
|
|
124
|
+
|
|
125
|
+
- **双向量召回**: content_vec(1024维) + trigger_vec(256维), 融合排序
|
|
126
|
+
- **置信度驱动**: EMA 更新 + 时效加权 + 时间衰减, 知识越用越准
|
|
127
|
+
- **零主动行为**: SDK 永不自发行动, 所有成长由外部触发
|
|
128
|
+
- **安全可注入**: sanitize 钩子覆盖所有写入路径, 默认零重依赖
|
|
129
|
+
- **灵感系统**: spark 记录灵感, 独立 maturity 生命周期, 相关语境下自动唤起
|
|
130
|
+
- **闭环完整**: 召回 → 观测 → 成长 → 治理 → 安全, 五个闭环不缺
|
|
131
|
+
- **一行接入**: `npx skills add vima-tech/Innate` 即可让 Agent 具备完整知识层行为
|
|
132
|
+
|
|
133
|
+
## 设计文档
|
|
134
|
+
|
|
135
|
+
详见 [`docs/Innate-设计文档-v4.5.1.md`](docs/Innate-设计文档-v4.5.1.md)。
|
|
136
|
+
|
|
137
|
+
## License
|
|
138
|
+
|
|
139
|
+
MIT
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Innate — 自成长 Agent 程序性知识层
|
|
2
|
+
|
|
3
|
+
> **一句话定位**: 一个**可嵌入可外挂、自成长、引擎可换**的 agent 程序性知识层系统。
|
|
4
|
+
> 它不做编排(对 LangGraph / Claude Code / 裸 API 中立), 只解一件事——**在有限 context 预算内, 组装最相关、最精确的知识, 并让这套知识随使用自我进化。**
|
|
5
|
+
|
|
6
|
+
## 接入 Agent(一行安装)
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npx skills add vima-tech/Innate
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
安装后 Claude Code 等支持 [Agent Skills 开放标准](https://agentskills.io/specification)的 Agent 会自动获得 `innate-memory` skill——知道何时召回、何时记录、何时成长,无需手动配置。
|
|
13
|
+
|
|
14
|
+
> 前提:本机已安装 `innate` CLI(见下方快速开始)。
|
|
15
|
+
|
|
16
|
+
### 让 Agent 帮你完成安装(完整提示词)
|
|
17
|
+
|
|
18
|
+
将以下内容直接发送给你的 Agent:
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
> 请帮我安装并初始化 Innate 知识层,步骤如下:
|
|
23
|
+
>
|
|
24
|
+
> ```bash
|
|
25
|
+
> pip install innate # 安装 CLI
|
|
26
|
+
> npx skills add vima-tech/Innate # 安装 Agent Skill
|
|
27
|
+
> innate inspect # 验证,应输出空库健康报告
|
|
28
|
+
> ```
|
|
29
|
+
>
|
|
30
|
+
> **权限说明(人和 Agent 同权)**
|
|
31
|
+
> 你拥有与我完全相同的操作权限,无需等待我确认即可执行:
|
|
32
|
+
>
|
|
33
|
+
> | 操作类别 | 命令 |
|
|
34
|
+
> |---|---|
|
|
35
|
+
> | 召回与记录 | `innate recall` · `innate record` |
|
|
36
|
+
> | 知识写入 | `innate add` · `innate spark` · `innate promote-spark` · `innate drop-spark` |
|
|
37
|
+
> | 治理 | `innate approve` · `innate archive` · `innate invalidate` · `innate restore` |
|
|
38
|
+
> | 成长与体检 | `innate evolve` · `innate inspect` |
|
|
39
|
+
>
|
|
40
|
+
> **工作规范**
|
|
41
|
+
> - 每次任务开始前执行 `innate recall "<任务意图>" --format json`,将结果纳入计划
|
|
42
|
+
> - 任务结束后执行 `innate record <trace_id> --outcome ok|fail`,闭合 trace
|
|
43
|
+
> - 发现值得保留的经验或灵感时,**直接**执行 `innate add` 或 `innate spark`,无需询问
|
|
44
|
+
> - 判断知识已失效时,直接执行 `innate invalidate <chunk_id> --reason "原因"`
|
|
45
|
+
> - 会话结束时执行 `innate evolve --trigger manual` 触发蒸馏
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 快速开始
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 安装 CLI
|
|
53
|
+
pip install innate
|
|
54
|
+
|
|
55
|
+
# 1. 写入知识
|
|
56
|
+
innate add "Python 列表推导式比 map/filter 更易读" --kind note --trigger "python 列表处理"
|
|
57
|
+
|
|
58
|
+
# 2. 召回知识
|
|
59
|
+
innate recall "python 列表优化" --budget 2000 --format json
|
|
60
|
+
|
|
61
|
+
# 3. 记录使用结果
|
|
62
|
+
innate record <trace_id> --outcome ok --feedback up
|
|
63
|
+
|
|
64
|
+
# 4. 触发成长(蒸馏 + 治理)
|
|
65
|
+
innate evolve --trigger manual
|
|
66
|
+
|
|
67
|
+
# 5. 库体检
|
|
68
|
+
innate inspect
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Python SDK
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
from innate import KnowledgeBase
|
|
75
|
+
|
|
76
|
+
kb = KnowledgeBase("personal.db")
|
|
77
|
+
|
|
78
|
+
# 写入
|
|
79
|
+
cid = kb.add("经验内容", kind="note", trigger_desc="触发场景")
|
|
80
|
+
sid = kb.spark("一个灵感")
|
|
81
|
+
|
|
82
|
+
# 召回
|
|
83
|
+
ctx = kb.recall("任务描述", budget=6000)
|
|
84
|
+
for chunk in ctx.knowledge:
|
|
85
|
+
print(chunk["content"])
|
|
86
|
+
|
|
87
|
+
# 记录使用
|
|
88
|
+
kb.record(ctx.trace_id, outcome="ok", used=[cid], feedback="up")
|
|
89
|
+
|
|
90
|
+
# 成长
|
|
91
|
+
kb.evolve(trigger="manual")
|
|
92
|
+
|
|
93
|
+
# 体检
|
|
94
|
+
print(kb.inspect())
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 系统架构
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
Innate System
|
|
101
|
+
├── Core SDK 知识层逻辑(recall/record/evolve/curate/confidence)
|
|
102
|
+
│ ├── Public API 8 个核心方法
|
|
103
|
+
│ └── Storage sqlite-vec 默认; 5 个可替换扩展点
|
|
104
|
+
├── CLI Adapter Core SDK 的命令行薄封装, 1:1 映射
|
|
105
|
+
├── Hook Integration 外部系统事件触发 CLI
|
|
106
|
+
├── Runtime (Daemon) 外部独立进程; 监听日志/事件
|
|
107
|
+
└── skills/ Agent Skills 标准接入层
|
|
108
|
+
└── innate-memory/ npx skills add vima-tech/Innate
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 核心特性
|
|
112
|
+
|
|
113
|
+
- **双向量召回**: content_vec(1024维) + trigger_vec(256维), 融合排序
|
|
114
|
+
- **置信度驱动**: EMA 更新 + 时效加权 + 时间衰减, 知识越用越准
|
|
115
|
+
- **零主动行为**: SDK 永不自发行动, 所有成长由外部触发
|
|
116
|
+
- **安全可注入**: sanitize 钩子覆盖所有写入路径, 默认零重依赖
|
|
117
|
+
- **灵感系统**: spark 记录灵感, 独立 maturity 生命周期, 相关语境下自动唤起
|
|
118
|
+
- **闭环完整**: 召回 → 观测 → 成长 → 治理 → 安全, 五个闭环不缺
|
|
119
|
+
- **一行接入**: `npx skills add vima-tech/Innate` 即可让 Agent 具备完整知识层行为
|
|
120
|
+
|
|
121
|
+
## 设计文档
|
|
122
|
+
|
|
123
|
+
详见 [`docs/Innate-设计文档-v4.5.1.md`](docs/Innate-设计文档-v4.5.1.md)。
|
|
124
|
+
|
|
125
|
+
## License
|
|
126
|
+
|
|
127
|
+
MIT
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Innate — 自成长 Agent 程序性知识层."""
|
|
2
|
+
|
|
3
|
+
from innate.core import (
|
|
4
|
+
ChunkNotFoundError,
|
|
5
|
+
CurateReport,
|
|
6
|
+
CurateScope,
|
|
7
|
+
Curator,
|
|
8
|
+
DummyEmbeddingProvider,
|
|
9
|
+
EmbeddingProvider,
|
|
10
|
+
EmbeddingUnavailable,
|
|
11
|
+
InnateError,
|
|
12
|
+
InvalidStateError,
|
|
13
|
+
KnowledgeBase,
|
|
14
|
+
OutcomeConflictError,
|
|
15
|
+
RecallResult,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
"KnowledgeBase",
|
|
20
|
+
"RecallResult",
|
|
21
|
+
"Curator",
|
|
22
|
+
"CurateScope",
|
|
23
|
+
"CurateReport",
|
|
24
|
+
"EmbeddingProvider",
|
|
25
|
+
"DummyEmbeddingProvider",
|
|
26
|
+
"InnateError",
|
|
27
|
+
"EmbeddingUnavailable",
|
|
28
|
+
"OutcomeConflictError",
|
|
29
|
+
"ChunkNotFoundError",
|
|
30
|
+
"InvalidStateError",
|
|
31
|
+
]
|
|
File without changes
|